首页文章正文

jvm常量池存放哪些东西,java常量池在方法区还是堆

string常量池在哪里 2023-02-11 16:50 770 墨鱼
string常量池在哪里

jvm常量池存放哪些东西,java常量池在方法区还是堆

引用和常量池对象的引用;但对象本身不存放在栈中,而是存放在堆(new出来的对象)或者常量池中(对象可能在常量池里)(字符串常量对象存放在常量池中。方法区:存放类的信息;此区包含常量池(常量池用存储了类、方法、接口等中的常量,当然也包括字符串常量。字符串池/字符串常量池(String Pool/String Constant Pool):是常量池中的一部分,存储编译期类中产生的字符串类型数据。运

当JVM使用类装载器装载某个类时,它首先要定位对应的class文件,然后读入这个class文件,最后,JVM提取该文件的内容信息,并将这些信息存储到方法区,最后返回一个cl用于存放该本地方法的局部变量表、操作数栈、动态链接、出口信息。

≡(▔﹏▔)≡ intern()方法在JDK1.6以后随着字符串常量池移到了堆空间,整个实现也发生了变化,主要体现在当字符串常量池中没有指定的字符串时,JDK1.6会单独在字符串常量池创建一个对象,而在JDK1.6Java8之前,常量池是存放在堆中的,常量池就相当于是在永久代中,所以永久代存放在堆中。Java8之后,取消了整个永久代区域,取而代之的是元空间。常量池就不存放在

的类不可以被继承,被final修饰的方法不可以被重写,被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.被final修饰的方法,JVM会尝试将其内联,以class类信息及其class文件常量池是字节码的二进制流,它代表的是一个类的静态存储结构,JVM加载类时,需要将其转换为方法区中的java.lang.Class类的对象实例;同时,会将class文件常量池

答案就在常量池的符号引用中。在未加载到JVM的时候,在.class 文件的静态常量池中我们可以找到这么一项CONSTANT_Class,当然这一项仅仅只是符号引用,我们只知道reference存储的是实例对象的地址实例对象的对象头中存储有指向Class对象的指针JVM采用直接对象访问

后台-插件-广告管理-内容页尾部广告(手机)

标签: java常量池在方法区还是堆

发表评论

评论列表

蓝灯加速器 Copyright @ 2011-2022 All Rights Reserved. 版权所有 备案号:京ICP1234567-2号