求教有关 jvm 方法区的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Corco
V2EX    Java

求教有关 jvm 方法区的问题

  •  
  •   Corco Jul 25, 2023 2099 views
    This topic created in 1010 days ago, the information mentioned may be changed or developed.

    1.请问这张图里的表述是否存在一些问题?
    2.位于运行时常量池的 final 常量值和字符串字面量都是保存对象引用,对象本身还是在堆中?
    3.运行时常量池的其他具体是指那些?
    4.有些观点认为 jvm 方法区还存储静态变量,如果是的请问是位于方法区的哪里?
    4 replies    2023-07-26 14:08:49 +08:00
    kang00001
        1
    kang00001  
       Jul 25, 2023   1
    图片挂了
    Akitora
        2
    Akitora  
       Jul 25, 2023   1
    Java 虚拟机对于 Class 文件每一部分(自然也包括常量池)的格式都有严格规定,如每一个字节用于存储哪种数据都必须符合规范上的要求才会被虚拟机认可、加载和执行,但对于运行时常量池,《 Java 虚拟机规范》并没有做任何细节的要求,不同提供商实现的虚拟机可以按照自己的需要来实现这个内存区域,不过一般来说,除了保存 Class 文件中描述的符号引用外,还会把由符号引用翻译出来的直接引用也存储在运行时常量池中。
    Aresxue
        4
    Aresxue  
       Jul 26, 2023   1
    永久代可以理解为 HotSpot 虚拟机对虚拟机规范中方法区的一种实现方式,在物理上两者是相等的

    常量 方法区

    静态变量 方法区

    局部变量 栈

    成员变量 堆

    常量且字面量 常量池

    常量且引用对象 堆

    静态变量且引用对象 方法区

    静态变量且字面量 常量池

    局部变量且引用对象 堆

    局部变量且基本类型字面量 栈

    局部变量且"" 常量池

    成员变量且引用对象 堆

    成员变量且基本类型字面量 堆

    成员变量且"" 常量池

    1.7 符号引用(Symbols)转移到了 native heap ;字面量(interned strings)转移到了 java heap ;类的静态变量(class statics)转移到了 java heap ,运行时常量池也到了 java heap(1.8 又到了元空间)

    1.8 里面只有元空间没有持久代了
    About     Help     Advertise     Blog     API     FAQ     Solana     3594 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 40ms UTC 00:14 PVG 08:14 LAX 17:14 JFK 20:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86