参考:http://blog.csdn.net/oscar999/article/details/47271531
http://taogebx.iteye.com/blog/976654
分析:在系统启动的时候,首先Java代码是解释执行的,当方法调用次数到达一定得阈值的时候(client:1500,server:10000),会采用JIT优化编译,此时JIT会增加系统的cpu和load。要注意这个问题。
方案:
方案一:-server -XX:+PrintCompilation -XX:CompileThreshold=1500 -XX:+CITime 增加以上参数可以看到编译优化信息。
方案二:采用jdk8,jdk8分层编译机制对预热有一定的效果。jdk8会把热代码缓存起来,等项目启动的时候先读取缓存部分的热代码。
扩展:-XX:+TraceClassLoading 查看加载的类文件