学习笔记之JVM 运行效率

标准JDK中的HotSpot虚拟机顾名思义为热点虚拟机,它能根据运行时的热点混合的使用内置即时编译器:C1、C2 和 Graal (JDK10 中最新的JIT)。 比如在二八原则的程序中,百分之二十的代码占用了CPU百分之八十的计算资源。这时候HotSpot会根据情况使用不同的即时内置编译器。

例如C1(client编译器)即时编译器,常用于对时间敏感的客户端编译工作,采用较简单的优化操作换取更快的编译速度。

C2 也叫服务端(server)编译器,常常用于对峰值性能要求高的服务端,采用更为复杂的优化操作。这样编制时间会更长,但是代码的执行效率会更高。

JDK 1.7后,虚拟机采用分层式的编译方式:热点方法先被C1编译 ,然后热点中的热点会进一步被C2编译。

猜你喜欢

转载自blog.csdn.net/puzimengya/article/details/81323205