有谁知道是否有Java 10和JVM 10规范的版本与以前的版本不同?对于Java 8和Java 9,有不同的规范,很难看出其他方面到底发生了什么变化。
发布于 2018-03-24 01:00:12
关于Java9和Java10 (18.3)之间的差异,您可以下载"JSR-000383 Java 10 (18.3)评估附件3“,链接如下:
请记住,您必须接受软件许可协议才能下载它。
这个存档包含JLS和JVMS的不同之处。
发布于 2018-08-17 09:42:19
我知道Java 10有什么新的,让我们简单地看一下。
1.局部变量类型推断(JEP 286)类似于JavaScript、Kotlin和Scala的,现在Java还有一个var关键字,它允许您声明局部变量而不指定其类型示例: var name = "Java“
2.垃圾收集器接口(JEP 304)它增加了不同垃圾收集器的代码隔离,并为them.This引入了一个干净的接口,这意味着在不影响代码库的情况下,更容易将GC排除在JDK构建之外。
3.用于G1 (JEP 307)的并行完全GC (JEP 307)通过将完整的GC并行化来改善G1最坏情况下的延迟,如果您还记得Java9的发行版,G1是JVM的默认GC,这是为避免完全GC而设计的。但是,当并发集合不能足够快地回收内存时,它最终会返回到一个完整的GC上,这将创建一个problem.This更改将完整GC算法并行化,因此在不太可能发生的G1完全GC事件中,可以使用与并发集合中相同数量的线程来提高总体性能。
4.替代内存设备上的堆分配(JEP 316)使HotSpot VM能够在替代内存设备上分配user.For对象堆,这一特性使得可以分配较低优先级的进程来使用NV内存,而只能在多JVM环境中将较高优先级的进程分配给DRAM。
5.将JDK合并为一个存储库(JEP 296) --它将把JDK的众多存储库合并到一个存储库中。
6.基于Java的实验性JIT编译器(JEP 317)使基于Java的JIT编译器Graal可用作您记得的Linuxx64 platform.If上的实验性JIT编译器,Graal已被添加回Java9中,但现在您可以使用以下JVM参数启用它:
-XX:+UnlockExperimentalVMOptions -XX:+UseJVMCICompiler7.线程-本地握手(JEP 312)通过在不执行全局VM保存点的情况下对应用程序线程执行回调来提高VM性能。这意味着JVM可以停止单个线程,而不仅仅是所有线程。
8.删除本机标题生成工具(JEP 313)它将从JDK中删除javah,这是编译JNI代码时生成头文件的单独工具,因为这可以通过javac完成。
资料来源/信贷:Java 10特性
https://stackoverflow.com/questions/49459990
复制相似问题