V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhch602
V2EX  ›  Java

JVM 标量替换的变量是存在本地变量表中么?

  •  
  •   zhch602 · 2020-11-06 15:06:11 +08:00 · 979 次点击
    这是一个创建于 1271 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Java 的逃逸分析只发生在 JIT 的即时编译中,而标量替换又是基于逃逸分析的,标量替换将对象分解成基本类型存在栈帧中,到底是存储在什么地方呢?


    如果存在本地变量表中,本地变量表是一个数组,在前端编译成字节码的时候就确定了大小,即 slot 的数量,那么本地变量表就存不下这些被分解的基本类型变量。


    所以本地变量表会在运行期变长?还是说这些对象的成员变量是存在栈的其他地方?

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5294 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:14 · PVG 16:14 · LAX 01:14 · JFK 04:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.