Tag: compiler flags

设置Java编译器合规性级别

我需要在命令行上编译Java程序,我试图将编译器级别设置为较低的(1.6)。 我试过这样但是没有用: javac -1.6 Hello.java

CompileThreshold,Tier2CompileThreshold,Tier3CompileThreshold和Tier4CompileThreshold控制什么?

HotSpot的分层编译使用解释器,直到调用(对于方法)或迭代(对于循环)的阈值触发具有自我分析的客户端编译。 使用客户端编译,直到另一个调用或迭代阈值触发服务器编译。 打印HotSpot的标志使用-XX:+ TieredCompilation显示以下标志值。 intx CompileThreshold = 10000 {pd product} intx Tier2CompileThreshold = 0 {product} intx Tier3CompileThreshold = 2000 {product} intx Tier4CompileThreshold = 15000 {product} 仅有客户端和服务器编译器的标志太多。 这些标志控制了哪些编译器? 如果不是客户端和服务器,其他编译器的目的是什么? 在这种情况下是否忽略CompileThreshold和Tier2CompileThreshold? 触发客户端编译时Tier3CompileThreshold控制什么? 触发服务器编译时Tier4CompileThreshold控制什么?