早些时候Oracle发布了Java 10,这是Oracle更改发布策略之后的第一版Java,Oracle现已决定每六个月发布一个新的Java版本,周期缩短了,但是并不是说我们要学的更多了,而是说缩短开发周期后,有助于更快修复bug,并提前放出新功能,因为时间短所以新功能并不是很多。本次更新主要有:局部变量类型推断,G1并行完全垃圾回收,以及测试版的Java-Based JIT编译器。更新详情如下:

局部变量类型推断:在Java 8 lambda表达式的类型推断基础上,Java 10现已可以对本地变量类型进行推断。

G1并行完全垃圾回收:提升了对G1进行完全垃圾回收时的最坏情况的延迟水平。

应用类数据共享:通过扩展现有的类数据共享(Class-Data Sharing, CDS)功能,使其允许class存放在共享归档中,以此来优化启动速度和减少开销。

测试版的Java-Based JIT编译器:在Linux 64位环境下启用了Java-Based JIT编译器Graal。Graal是一个通用虚拟机,可以运行用JavaScript,Python, Ruby, R以及JVM语言Java, Scala, Cloujure, Kotlin编程语言编写的应用程序,还可运行基于LLVM的编程语言所写的程序,例如C和C++,而且能提供更快的速度。

垃圾回收接口:为了使不同垃圾回收器的源代码更好的分离,引入了新的简洁的垃圾回收器接口。它可以使HotSpot内部垃圾回收代码更加模块化,新增垃圾回收器实现时不影响已有的垃圾回收器代码,能够排队某个垃圾回收器的实现。

本地线程握手:执行线程回调函数时不再对全局VM还原点进行还原,让关闭单个线程变得可能且减少开销。

新增Unicode语言标签扩展:增强了java.util.Locale和其相关的API来实现BCP 47 Unicode扩展。

允许在其他内存设备上进行堆分配:例如可以使用NV-DIMM内存设备。

根证书:提供了一组默认的根证书授权中心(CA)。

基于时间的发布版本:修定了Java SE平台和JDK的版本字符串模式。

合并JDK森林到单一仓库:把分散的JDK仓库统一到了一个仓库中,简化了JDK的开发流程。

Java 10更新汇总,新的编译器通吃主流编程语言的更多相关文章

  1. Java 9和Java 10的新特性

    http://www.infoq.com/cn/news/2014/09/java9 Java 9新特性汇总 继2014年3月份Java 8发布之后,Open JDK加快了开发速度, Java 9的发 ...

  2. Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!

    前几天写了一篇 Java 8 即将在 2019 年停止免费向企业提供更新的文章,企图迫使用户向更新一代的 Java 版本升级,但让人遗憾的是,小编今天收到了 Oracle Java 版本的升级推送,装 ...

  3. Java 10的10个新特性,将彻底改变你写代码的方式!

    Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...

  4. Java 10 的 10 个新特性,将彻底改变你写代码的方式!

    Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...

  5. 【整理】Java 10新特性总结

    Java 9才发布几个月,很多玩意都没整明白,Java 10就来了..这时候我真尼玛想说:线上用的JDK 7 ,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK 10……刚学Java的 ...

  6. Java 10新特性

    ref:http://www.cocoachina.com/industry/20180309/22520.html https://www.oschina.net/news/94402/java-1 ...

  7. Java 10 的 10 个新特性,你颤抖了吗?

    Java 9才发布几个月,很多玩意都没整明白,现在Java 10又快要来了.. 这时候我真尼玛想说:线上用的JDK 7 甚至JDK 6,JDK 8 还没用熟,JDK 9 才发布不久不知道啥玩意,JDK ...

  8. 最通俗易懂的 Java 10 新特性讲解

    自从 Java 9 开始,Oracle 调整了 Java 版本的发布策略,不再是之前的 N 年一个大版本,取而代之的是 6 个月一个小版本,三年一个大版本,这样可以让 Java 的最新改变迅速上线,而 ...

  9. Java常用英语汇总(面试必备)

    Java常用英语汇总(面试必备) abstract (关键字)             抽象 ['.bstr.kt] access                            vt.访问,存 ...

随机推荐

  1. vue的双向数据绑定实现原理(简单)

    如果有人问你,学vue学到了什么,那双向数据绑定,是必然要说的. 我们都知道,在vue中,使用数据双向绑定我们都知道是v-modle实现的. 实现原理是通过Object.defineProperty的 ...

  2. .Net Core AES加解密

    项目中token在传输过程中采用了AES加密,  网上找到的两篇博文都有写问题,在这里记录一下.Net Core 2.2代码中AES加解密的使用: //AES加密 传入,要加密的串和, 解密key p ...

  3. 新款iPad Pro4的电池续航和充电速度对比

    3月18日晚苹果官网上架了两款新iPad Pro,两款iPad Pro 2020外观大小分别为11英寸和12.9英寸,搭载苹果A12Z仿生芯片,起售价分别为6288元和7899元.那么两款iPad P ...

  4. js获取json对象的属性值

    //   var responseData = response.data.result;             for (var r in responseData) {              ...

  5. vue学习(一)初步了解 vue实例

    //html:<div id="app"> <p>{{msg}}<p></div> //script 需要引入jar包vue-2.4 ...

  6. 虚拟机 NAT 网络静态ip配置记录

    环境 VMware 15.5.5 build-16285975 centos7 虚拟网络编辑器配置 位置 编辑 --> 虚拟网络编辑器 示例 以下以 192.168.18.0 网段ip为例,实际 ...

  7. 使用types库修改函数

    import types class ppp: pass p = ppp()#p为ppp类实例对象 def run(self): print("run函数") r = types. ...

  8. functools函数中的partial函数及wraps函数

    ''' partial引用函数,并增加形参 ''' import functools def show_arg(*args,**kwargs): print("args",args ...

  9. PHP localeconv() 函数

    实例 查找美国本地的数字格式化信息: <?php setlocale(LC_ALL,"US"); $locale_info = localeconv(); print_r($ ...

  10. 找回 Virtuoso 中的缩放和角度

    https://www.cnblogs.com/yeungchie/ 打开要缩放的版图 CIW 中运行:dbCreateXformPCell(geGetEditCellView() geGetEdit ...