1

我正在阅读有关 Java 中的值对象的 JEP文档,并在动机部分中遇到了这样的对象标量化上下文中的一行:

有一些优化可以消除某些代码区域中的对象分配。例如,如果可以成功执行逃逸分析,则有时可以将对象“缩放”到它们的组件字段中。然而,这样的优化在范围和适用性上是有限的。对于离线调用,对象仍然必须装箱到内存中,只要执行现有的 Java 引用语义

我从这篇文章的答案中得到了关于这里所说的优化的想法。

我无法理解的部分在 JEP 中,作者所说的外线调用是什么意思?什么可以是一个很好的例子?

简而言之,我理解 Hotspot 将展开 Object 的字段并在对象的范围不离开方法时将它们分配到方法堆栈中的事实。
什么样的代码看起来像外线调用

4

0 回答 0