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可以有两种方式定义新类型:类和接口.对于大部分面向对象来说.这两种方法看起来似 ...
随机推荐
- Java 获取网络重定向URL(302重定向)
方法1: import java.net.HttpURLConnection; import java.net.URL; import org.junit.Assert; import org.jun ...
- ThinkPHP5中如何实现模板完全静态化
模板完全静态化,也就是通过模板完全生成纯静态的网页,相比动态页面和伪静态页面更安全更利于SEO访问更快.相比前二者各有利弊吧,现在稍微对这三种形式的优缺点对比一下,以及在ThinkPHP5项目中实现完 ...
- python json dumps与loads
json.dumps() 是将一个Python数据结构转换为一个JSON编码的字符串 json.loads() 是将一个JSON编码的字符串转换为一个Python数据结构 一般要求当要字符串通过l ...
- top - 交互式监控
top - display Linux processes 显示linux进程 格式: top -hv|-bcHiOSs -d secs -n max -u|U user -p pid -o fld ...
- 树莓派安装realvnc_server
先 sudo raspi-config 打开VNC. 然后去realvnc官网去下载raspberry的vncserver 已经ssh连接的前提下可以电脑下载后使用scp命令转移到树莓派上,使用以下命 ...
- BigDecimal加减乘除计算
一.简述 java.math.BigDecimal不可变的.任意精度的有符号十进制数.BigDecimal 由任意精度的整数非标度值(unscaledValue)和32位的整数标度(scale)组成. ...
- js不常用,但很实用的功能
=============== 通知: 博主已迁至<掘金>码字,博客园可能以后不再更新,掘金地址:https://juejin.im/post/5a1a6a6551882534af25a8 ...
- BZOJ - 3242 :快餐店 (基环树DP) 最小化半径
题意:给定N点N边的无向连通图,现在让你在图中找一点作为餐厅,使得最远点距离这点最近. 思路:为了保留整数,我们求最小直径,最后去除2. 直径来源于两部分: 1,在外向树中: 那么就是树的直接,一棵 ...
- IDEA 注释模板
类.接口.等文件注释: /** * @Description: * @author: tangsw * @date: ${DATE} ${TIME} * */ 方法上注释: /** * @Descri ...
- 【大数据】设置SSH免密钥(转)
设置SSH免密钥 关于ssh免密码的设置,要求每两台主机之间设置免密码,自己的主机与自己的主机之间也要求设置免密码. 这项操作可以在admin用户下执行,执行完毕公钥在/home/admin/.ssh ...