问题一:try-with-resources 声明在 JDK 9 中得到了怎样的改进?
try-with-resources 声明在 JDK 9 中得到了怎样的改进?
参考回答:
在 JDK 9 中,try-with-resources 声明得到了改进,允许使用已存在的 final 或等效于 final 的变量作为资源,而无需在 try-with-resources 语句中重新声明一个新的变量。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655166
问题二:在 JDK 9 之前和之后,默认的垃圾回收器分别是什么?
在 JDK 9 之前和之后,默认的垃圾回收器分别是什么?
参考回答:
在 JDK 9 之前,默认的垃圾回收器是 Parallel Scavenge(新生代)+ Parallel Old(老年代)。而在 JDK 9 之后,CMS 垃圾回收器被废弃,G1(Garbage-First Garbage Collector)成为了默认的垃圾回收器。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655167
问题三:APPCDS(应用程序类数据共享)在 JDK 10 中有什么改进?
APPCDS(应用程序类数据共享)在 JDK 10 中有什么改进?
参考回答:
在 JDK 10 中,CDS(类数据共享)被扩展为 APPCDS(应用程序类数据共享),使得不仅 Boot Class Loader 加载的类可以受益于类数据共享,App Class Loader 和自定义的 Class Loader 加载的类也可以。这进一步提高了应用程序的启动性能。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655168
问题四:在 JDK 10 中,G1 垃圾回收器的 Full GC 有了什么变化?
在 JDK 10 中,G1 垃圾回收器的 Full GC 有了什么变化?
参考回答:
在 JDK 10 中,G1 垃圾回收器的 Full GC 被改为使用并行的标记清除算法,并且会使用与年轻代回收和混合回收相同的并行工作线程数量。这减少了 Full GC 造成的应用停顿时间,提高了性能和吞吐量。
关于本问题的更多回答可点击原文查看:
https://developer.aliyun.com/ask/655169
问题五:如何控制 G1 垃圾回收器的并行工作线程数量?
如何控制 G1 垃圾回收器的并行工作线程数量?
参考回答:
可以通过 JVM 启动参数 -XX:ParallelGCThreads 来控制 G1 垃圾回收器的并行工作线程数量。这个参数同时也用于控制 Young GC 和 Mixed GC 的线程数。
关于本问题的更多回答可点击原文查看: