1先介绍一下jvm内存模型:
栈: 存放基本数据类型及对象变量的引用,对象本身不存放于栈中而是存放于堆中
1)、基础类型 byte (8位)、boolean (1位)、char (16位)、int (32位)、short (16位)、float (32位)、double (64位)、long (64位)
2)、java代码作用域中定义一个变量时,则java就在栈中为这个变量分配内存空间,当该变量退出该作用域时,java会自动释放该变量所占的空间
堆: new操作符的对象
1)、new创建的对象和数组
2)、在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理
静态域: static定义的静态成员变量
常量池: 存放常量
2java中的String类:Java中String不是基本数据类型,而是一种特殊的类。String代表的是不可变的字符序列,为不可变对象,一旦被创建,就不能修改它的值,对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去
本文介绍了JVM内存模型的关键组成部分,包括栈、堆、静态域和常量池,并详细解释了它们的功能和用途。此外,还特别分析了String类在JVM中的实现方式及其特性。
167

被折叠的 条评论
为什么被折叠?



