Java 11新特性:Java飞行黑盒子

Java飞行记录仪(Java Flight Recorder)已经变成Java 11的一部分了,之前它是一个商业功能,但是伴随JEP 328的 Java 11发布,它从OracleJDK开源到了OpenJDK。

Java飞行记录器类似飞机的黑盒子,可以将OS系统和JVM中发生的事件记录下来,然后就可以使用Java Mission Control(JMC)进行性能侦测和分析了。启用JFR可以最大限度地降低工具本身对JVM性能的影响,JVM其他性能监测工具对应用运行性能都有影响,因此很少在生产环境一直启用,而JFR则可以在生产环境部署启用。

不同的启用JFR的JVM参数。

1.基于时间Time Based
2.按需持续转储Continuous with dump on demand
3.在退出时继续转储Continuous with dump on exit

由于JFR内置于Java 11中,因此这激发了开发人员社区的兴趣,这样可以减少对第三方调教工具profiler的依赖。

同时作为Java 11模块的一部分,我们将有一个jdk.jfr模块,这个API能让程序员生成自定义JFR事件并使用存储在文件中的JFR事件来解决问题。

这大概是升级到Java 11的最大动力之一了。

体验:http://jdk.java.net/11/

Java 11 Features – Java Flight Recorder – Smart Te