在本文中,我们将看到如何利用Java Flight Recorder功能作为Java 11的一部分。之前,它是商业功能之一。 但是,对于带有JEP 328的 Java 11,它是开源的。 Java Flight Recorder将OS和JVM事件记录到一个文件中,可以使用Java Mission Control(JMC)对其进行检查。 启用JFR可将JVM性能的开销降至最低。 因此,这也可以用于生产部署。 现在,我们将看到一些用于启用JFR的JVM参数。
- 基于时间
java -XX:StartFlightRecording=delay=20s,duration=60s,filename=C:\myRecording.jfr,settings=profile,name=SampleRecording
- 按需连续转储
java -XX:StartFlightRecording=settings=default
- 连续退出时转储
java -XX:StartFlightRecording=settings=default -XX:FlightRecorderOptions=dumponexit=true,dumponexitpath=C:\tmp
由于Java 11内置了JFR,因此这激发了开发人员社区。 我们可以减少对第三方分析器的依赖以及。
作为Java 11的一部分,我们获得了jdk.jfr模块。 该API允许程序员生成自定义JFR事件并使用存储在文件中的JFR事件来解决问题。
您可以从http://jdk.java.net/11/下载Java11早期访问以探索这些功能。
翻译自: https://www.javacodegeeks.com/2018/07/java-11-features-java-flight-recorder.html