问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Hotpot Java虚拟机Class对象是在方法区还是堆中

发布网友 发布时间:2024-10-01 07:13

我来回答

1个回答

热心网友 时间:2024-11-30 17:04

Class对象在Java虚拟机中存储位置的解释

Class对象存储在Java堆中,而非方法区。许多人常误认为Class对象存在于方法区,实则不然。类的元数据,即组成类的详细信息,如方法代码、变量名、访问权限、返回值等,才是存储于方法区的。

方法区

方法区是JVM内部的一个逻辑区域,负责存储类型信息。这些信息在类加载时由类加载器从类文件中提取而来。方法区内还存储类(静态)变量。方法区的内容会根据JVM的实现进行调整,以平衡应用运行效率与空间需求。由于方法区被所有线程共享,确保数据线程安全至关重要。JVM可以在运行时动态调整方法区大小,并允许指定初始、最小和最大尺寸。

方法区内存在垃圾收集机制,处理动态扩展的Java程序中的类垃圾。JVM可以回收未被引用类所占的空间,以优化方法区使用。

类型信息

每个加载的类型,JVM在方法区中需要存储以下信息:

1. 类的完整有效名

2. 类的直接父类的完整有效名(除非类是接口或java.lang.Object,两种情况下无父类)

3. 类的修饰符(public, abstract, final等集合)

4. 类的直接接口的有序列表

完整有效名在类文件和JVM中以相同格式表示,但在源代码中包含包名称。JVM为每个类型维护一个常量池,存储类型使用的所有常量和对类型、域和方法的符号引用。这些信息对动态链接至关重要。

除了基本类型信息,JVM还需保存每个类型的所有域、方法、非静态变量以及类变量。

常量池

每个加载的类型对应一个常量池,存储类型所用到的常量和对域、方法的符号引用。常量池在动态链接中起核心作用。

域信息

域的相关信息,包括域名、域类型、域修饰符等。

方法信息

方法的名称、返回类型、参数类型、修饰符以及字节码等。

类变量

类变量由所有实例共享,即使没有实例时也可访问。它们与类相关,因此在方法区中被视为类的一部分。

对类加载器的引用

类加载器信息确保了类型加载时的一致性。

Class类的引用

每个加载的类型对应一个Class实例,JVM通过此连接方法区中的类型数据。

方法表

方法表优化访问效率,为方法提供直接引用,加快激活实例方法的速度。

例子展示方法区使用

通过类名加载并执行代码,JVM从方法区获取类型信息,解析字节码激活方法。

总结

Class对象存储在Java堆中,而非方法区。方法区内存储类型信息、类变量等数据,JVM通过方法表等结构优化访问效率。理解这些原理有助于深入掌握Java虚拟机的工作机制。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
预算2000内的手机2000元以内双核手机 我女儿被摩托车一撞伤后,骑车人逃逸了,记住车牌号报警后,找到车主... ...擦车事件.给钱私了对方写了协议书和收据.但肇事局把车拖走了... 我被摩托车撞了对方是全责,头部还缝了六针,我可以要求赔偿多少?_百度... 对方醉酒驾摩托车撞伤家人,现在想出院静养,赔偿事宜该怎么协商,应该赔 ... 摩托车追尾我家人的车,摩托车司机骨折,交警扣了我家的车 现在需要我们... outlook 资料怎么转移到其他电脑上 正规废镍回收联系方式 手机用音乐播放器那个更好? 哪种播放器音质最好 Java内存分配与回收策略 97年深圳黄金多少钱一克 2寸电子照片怎么制作? 翡翠玉石的种类和区别 怎么样设置微信不让好友看战绩 想考导游证可以自己看书自考么还是一定要去上培训班?考导游高中学历可以... 怎么样自考导游证啊,不参加培训班的那种 在南京考导游证(国导),书一定要在培训的地方买吗?怎么报名 考导游证需要那些书啊,还有不上辅导班可以过吗 去寒姜茶有哪些做法呢 驱寒姜茶怎么做 驱寒红糖姜茶怎么做 苹果7可以升级ios14 ...都不懂,什么都没有学会,一无是处,该怎么办? 微博密码怎么改? 反渗透净水器和超滤净水器的区别在哪里呢 反渗透净水器和超滤净水机有什么区别? 摩卡婚礼策划馆摩卡总裁 不拆机如何清理笔记本灰尘? 摩卡婚礼摩卡团队 JVM内存区域划分Eden Space、Survivor Space等详解和回收过程 【金三银四】JVM虚拟机CMS和G1收集器详解 青岛有哪些设计公司 梦见自己快要死了, 上午家人把我出殡送到坟地,打算下午把我埋了,我... 青岛盛世天彩品牌策划有限公司怎么样? 青岛艺陆彩东道品牌策划有限公司怎么样 零食品牌想升级一下LOGO,可爱的 卡通的,最好还能设计下卡通形象,有青岛... 九月你好的唯美句子 2019九月你好唯美心情说说 青岛灵沃品牌策划有限公司怎么样? 青岛米恩品牌策划有限公司怎么样? ...4A 级广告公司?奥美广告 在青岛有分布没有? 我女儿十一岁了,总是想男女之间的事,我该如何教育 油豆腐干锅怎么做好吃 热水器或电动车充电器线路板有高低压分区吗 儿童叛逆期的孩子怎么去引导? 我是男的的一到天气凉的的时候特别在冬天手脚就会很冰,请问是什么回事... ...我曾经忍不住打骂她,因为她的行为态度很恶劣,我该如何和她... ...女儿表面上很怕我,可实际上特别是叛逆,我该怎么管? 小女孩不听话怎么教育小女孩不听话如何教育 作文:一件令我难忘,伤心,...的事