Java 10 是 Java 编程语言的一个版本,于 2018 年 3 月发布
▥编程
𝄐 0
java jframe类,java json转对象,java jsonobject,java jar,java jps命令,java jsonarray转成list
Java 10 是 Java 编程语言的一个版本,于 2018 年 3 月发布。Java 10 中引入了许多新特性,包括以下几项:
1. 局部变量类型推断(Local Variable Type Inference):现在可以使用 var 关键字来推断局部变量的类型,而无需显式声明它们的数据类型。
例如:
var a = 10; // 推断 a 的类型为 int
var b = "hello"; // 推断 b 的类型为 String
2. 应用程序类数据共享(Application Class-Data Sharing):通过将类元数据和字节码缓存到本地文件中,以便在启动时快速加载和共享,从而提高应用程序的启动时间和性能。
3. G1 垃圾收集器的并行完全垃圾回收(Parallel Full GC for G1):G1 垃圾收集器现在支持并行完全垃圾回收,从而提高垃圾收集的效率。
4. 线程局部握手(Thread-Local Handshakes):线程现在可以与 JVM 进行握手,以允许 JVM 在需要时挂起或恢复线程,从而更好地响应垃圾回收事件。
5. Unicode 10 支持:Java 10 支持最新的 Unicode 版本,其中包含符号和表情等新特性。
6. 其他改进:Java 10 还包括了一些其他的改进,例如对于Javadoc中HTML5元素的支持、基于时间的版本控制系统等。
例子:
1. 局部变量类型推断
var list = new ArrayList<String>(); // 推断 list 的类型为 ArrayList<String>
var stream = list.stream(); // 推断 stream 的类型为 Stream<String>
2. 应用程序类数据共享
Java 10 中新增了一个工具 jcmd,可以使用它来生成 CDS 归档文件并启动应用程序。例如:
# 生成 CDS 归档文件
$ java -XX:ArchiveClassesAtExit=hello.jsa Hello
# 启动应用程序并加载归档文件
$ java -XX:+UseAppCDS -XX:SharedArchiveFile=hello.jsa Hello
3. G1 垃圾收集器的并行完全垃圾回收
在 JVM 参数中使用 -XX:+ParallelGCThreads 来启用并行完全垃圾回收。例如:
$ java -XX:+UseG1GC -XX:+ParallelGCThreads=4 Hello
4. 线程局部握手
Java 10 引入了一个新的 JVM 参数 -XX:ThreadLocalHandshakes=true/false,默认情况下为 true。如果要禁用线程局部握手,可以将其设置为 false。
Java 10 是 Java 编程语言的一个版本,于 2018 年 3 月发布。Java 10 中引入了许多新特性,包括以下几项:
1. 局部变量类型推断(Local Variable Type Inference):现在可以使用 var 关键字来推断局部变量的类型,而无需显式声明它们的数据类型。
例如:
var a = 10; // 推断 a 的类型为 int
var b = "hello"; // 推断 b 的类型为 String
2. 应用程序类数据共享(Application Class-Data Sharing):通过将类元数据和字节码缓存到本地文件中,以便在启动时快速加载和共享,从而提高应用程序的启动时间和性能。
3. G1 垃圾收集器的并行完全垃圾回收(Parallel Full GC for G1):G1 垃圾收集器现在支持并行完全垃圾回收,从而提高垃圾收集的效率。
4. 线程局部握手(Thread-Local Handshakes):线程现在可以与 JVM 进行握手,以允许 JVM 在需要时挂起或恢复线程,从而更好地响应垃圾回收事件。
5. Unicode 10 支持:Java 10 支持最新的 Unicode 版本,其中包含符号和表情等新特性。
6. 其他改进:Java 10 还包括了一些其他的改进,例如对于Javadoc中HTML5元素的支持、基于时间的版本控制系统等。
例子:
1. 局部变量类型推断
var list = new ArrayList<String>(); // 推断 list 的类型为 ArrayList<String>
var stream = list.stream(); // 推断 stream 的类型为 Stream<String>
2. 应用程序类数据共享
Java 10 中新增了一个工具 jcmd,可以使用它来生成 CDS 归档文件并启动应用程序。例如:
# 生成 CDS 归档文件
$ java -XX:ArchiveClassesAtExit=hello.jsa Hello
# 启动应用程序并加载归档文件
$ java -XX:+UseAppCDS -XX:SharedArchiveFile=hello.jsa Hello
3. G1 垃圾收集器的并行完全垃圾回收
在 JVM 参数中使用 -XX:+ParallelGCThreads 来启用并行完全垃圾回收。例如:
$ java -XX:+UseG1GC -XX:+ParallelGCThreads=4 Hello
4. 线程局部握手
Java 10 引入了一个新的 JVM 参数 -XX:ThreadLocalHandshakes=true/false,默认情况下为 true。如果要禁用线程局部握手,可以将其设置为 false。
本文地址:
/show-278484.html
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。