idea中启动一个java程序,在VM options指定 -XX:+PrintCompilation。之后启动执行,会打印出java文件编译后的样子。

从左边开始。
第一列是说明,虚拟机自启动后所用的毫秒数。
接下来是代码或方法执行的顺序。
第三列可以看到有的是“s”,有的是“n”,有的干脆啥也没有。其中“s”代表的是synchronized方法,“n”代表的是本地方法。其中第三列还有一个“%”,“%”代表的是,这个方法以及本地编译了,并且存放在内存中的一个叫代码缓存的地方。
第四列中0-4的数字代表了进行那种类型编译,“0”代表没有编译,“1”到“4”代表代码层次越来越深。
本文解析了在Idea中启动Java程序并使用-XX:+PrintCompilation选项后生成的编译日志。详细介绍了日志中各列数据的含义,包括虚拟机运行时间、代码执行顺序、方法类型(如同步方法、本地方法)以及编译级别。
1712

被折叠的 条评论
为什么被折叠?



