jdk 6-13最有价值新特性总结
355: Text Blocks (Preview)
JDK 13的特性。简化了大段文本的换行,例如sql或xml段。
Shenandoah GC。
jdk 12作为实验特性引入。
JEP330-启动单文件代码程序
JEP330-启动单文件代码程序(Launch Single-File Source-Code Programs)是即将更新的JDK11(18.9)版本中一个很不错的功能。这个功能允许你直接使用java解析器运行java代码。java文件会在内存中执行编译并且直接执行。唯一的约束在于所有相关的类必须定义在东一个java文件中。
这个特征非常适合刚刚准备学习java的童鞋,或者想快速尝试一些简单代码。这个功能和jshell会成为所有java初学者的最强大的工具。不仅仅如此,所有的成熟的开发,可以使用这个工具来快速验证和学习新的API。
JEP 351,ZGC。
ZGC是JDK 11新引入的实验性gc,返回没有使用到的JVM堆内存给操作系统,在负载不均系统中,相当的有价值。 详见java垃圾回收及gc全面解析(全面覆盖jdk 13、zgc、openj9)。http://openjdk.java.net/jeps/333
JEP 321: HTTP Client (Standard)
标准化的Http客户端接口。主要包括下列接口:
- HttpClient
- HttpRequest
- HttpResponse
- WebSocket
支持同步和异步请求。这样就得考虑apache httpclient还是jdk类库自带的更合适。
JShell
JShell是java9中直观的新特性,它提供了一个控制台交互界面,通过这个交互界面,开发者可以快速编写代码片段并运行,可以查看类库的文档,可以编写简单的程序。在需要快速验证的场景,我们不再需要先定义类、再定义方法、再定义main()方法或单元测试来验证我们的想法;对于java初学者来说,这也提供了一个简便的方法来学习java,是一个简单而又实用的特性。
AOT(JEP 295: Ahead-of-Time Compilation)
在JDK9中被作为实验特性加入,用于提高启动大型应用的启动速度,避免JIT的过程。 在ibm openj9中,这是一个标配的GA特性,可参见openj9-docs-0.17.0/aot.html。其使用参见http://openjdk.java.net/jeps/295。
JEP 193: Variable Handles
变量句柄是JDK 9的新特性。
JEP 274: Enhanced Method Handles
该技术能够字节码层面的函数指针特性,相比反射能够极大的提升性能。增强方法句柄是JDK9在JDK7及JDK8基础上的增强。关于变量和方法句柄的介绍参见jdk 8反射性能优化之MethodHandle和VarHandle深入解析。
JSR 269 插件化注解处理(Pluggable Annotation Processing)API
lombok就是使用该技术实现。准确的说,该技术能够通过在编译期间修改代码实现c/c++中宏的功能,完全避免运行时负载。
JDK9新特性:https://docs.oracle.com/javase/9/whatsnew/toc.htm#JSNEW-GUID-C23AFD78-C777-460B-8ACE-58BE5EA681F6
jshell命令行参考:https://docs.oracle.com/javase/9/tools/jshell.htm
jdk 6-13最有价值新特性总结的更多相关文章
- JDK 15 JAVA 15的新特性展望
目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: T ...
- JDK各版本内容和新特性
JDK各版本内容和新特性 - yanlzhl - 博客园 https://www.cnblogs.com/yanlzhl/articles/5694470.html 版本JDK1.0:1995年 ...
- jdk 1.6 & 1.7新特性
jdk1.6新特性 1.Desktop类和SystemTray类 2.使用JAXB2来实现对象与XML之间的映射 3.StAX 4.使用Compiler API 5.轻量级Http Server AP ...
- JDK 1.7版本的 新特性
摘自: http://yanguz123.iteye.com/blog/1934766 Jdk1.7的新特性: 1,switch中可以使用字串 Java代码: String s = "tes ...
- 说出 5 个 JDK 1.8 引入的新特性?
Java 8 在 Java 历史上是一个开创新的版本,下面 JDK 8 中 5 个主要的特性: Lambda 表达式,允许像对象一样传递匿名函数 Stream API,充分利用现代多核 CPU,可以写 ...
- JavaEE基础(二十七)/反射、JDK新特性
1.反射(类的加载概述和加载时机) A:类的加载概述 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化. 加载 就是指将class文件读入 ...
- Java 14 可能带来什么新特性?
JDK/Java 13 在一个月前已经发布,该版本带来了 5 大新特性,笔者观察到其中的 Text Blocks(文本块)特性似乎被讨论最多. 文本块特性与常见的 Python "" ...
- 二十七、JDK1.5新特性---Annotation
上篇文章介绍了反射的一些基础知识以及应用案例,本文将介绍jdk 1.5 出现的新特性——Annotation也就是我们所说的注解,即使用注释的方式加入一些程序的信息. 注解相当于一种标记,在程序中加了 ...
- 二十五、JDK1.5新特性---枚举
与上篇文章介绍的相同,本文也是介绍jdk 1.5出现的新特性,本文将介绍枚举的相关用法. 在jdk 1.5 之前.Java可以有两种方式定义新类型:类和接口.对于大部分面向对象来说.这两种方法看起来似 ...
随机推荐
- docker中安装及使用mysql
打算构造一个环境较全的linux环境,所以在本地弄了个docker.然后pull了一个centos的镜像,并打算在此镜像的基本上,构建适合自己的镜像.但在使用时,发现了各种问题,还是费了一些功夫.原因 ...
- OCR5:预处理
Tesseract4.X已经有了初步成效(见下面的对比), 但目前结果对于训练之外的数据, 仍会有很大的偏差.想要更好的 OCR 结果, README 中重点强调的一点是: 在交给 Tesseract ...
- SQL SERVER-查看内存使用情况
--使用内存的各对象 SELECT type, sum(virtual_memory_reserved_kb) as VM_Reserved, sum(virtual_memory_committed ...
- Ubuntu中如何为wine程序创建快捷方式
1.安装一个gnome组件及其应用 sudo apt-get install gnome-panel 2.运行以下命令弹出创建快捷方式的窗口 sudo gnome-desktop-item-edit ...
- 将源码包制作成rpm包
Linux系统中一般安装软件有两种方法,源码安装和yum安装或者rpm包安装,由于光盘中的rpm包都是几年前制作成的,所以软件版本都很低,同时yum安装对软件的可定制性很低,所以为了使用最新的软件,一 ...
- 2019年杭电多校第二场 1002题Beauty Of Unimodal Sequence(LIS+单调栈)
题目链接 传送门 思路 首先我们对\(a\)正反各跑一边\(LIS\),记录每个位置在前一半的\(LIS\)中应该放的位置\(ans1[i]\),后一半的位置\(ans2[i]\). 对于字典序最小的 ...
- 初识Java(Java数字处理类-大数字运算)
一.大数字运算 在 Java 中提供了大数字的操作类,即 java.math.BigInteger 类与 java.math.BigDecimal 类.这两个类用于高精度计算,体重 BigInteg ...
- Nginx——配置文件服务下载
前言 只是临时搭建的一个下载服务,所以就直接用nginx来咯 步骤 解析域名 将域名解析到要部署应用对应的服务器,就是个解析操作,没啥好讲的 创建目录 # mkdir /data/install/ 配 ...
- the_permalink()和get_permalink()的区别
wordpress中the_permalink()是用于posts loop循环中(判断是否有文章,如果有文章则展示出来:如果没有文章就显示没有文章),常用于文章分类列表和文章页的模板中,用法如下 & ...
- Ruby Raise rescue
ruby1.9以上,retry只能支持在rescue里面使用,不支持在block里面用:你要去用ruby1.8 rescue使用代码例子 # -*- coding: UTF-8 -*- n = 0 b ...