Unterstanding Java打印内联参数
我正在运行一个带有以下参数的Java程序: -XX:+解锁DiagnosticVMOptions-XX:+打印内联 我得到这个输出:Unterstanding Java打印内联参数,java,jvm-hotspot,Java,Jvm Hotspot,我正在运行一个带有以下参数的Java程序: -XX:+解锁DiagnosticVMOptions-XX:+打印内联 我得到这个输出: @ 83 java.util.LinkedList::getFirst (22 bytes) @ 13 java/util/NoSuchElementException::<init> (not loaded) not inlineable 它是内联的吗 在这个链接上,有一个后缀inline hot。 在我的例子中,没有后缀。这意味
@ 83 java.util.LinkedList::getFirst (22 bytes)
@ 13 java/util/NoSuchElementException::<init> (not loaded) not inlineable
它是内联的吗
在这个链接上,有一个后缀inline hot。
在我的例子中,没有后缀。这意味着什么?在LinkedList::getFirst的代码中,您将看到它构造了一个NoTouchElementException。因此VM尝试内联调用
但是,异常初始值设定项不内联似乎是一条规则-在我的PrintInline日志中,Oracle JDK 8明确地注释了以下几行:
@ 11 java.lang.NullPointerException::<init> (6 bytes) don't inline Throwable constructors
你添加代码了吗?看起来您需要get元素,它不存在空集合,等等
@ 11 java.lang.NullPointerException::<init> (6 bytes) don't inline Throwable constructors