![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 85
JVM原理
凯凯的blog
这个作者很懒,什么都没留下…
展开
-
Java String类
用双引号方式创建新的字符串时,会先查询字符串常量池中是否已经存在相同内容的字符串,若存在,在将字符串变量指向字符串常量池中已经存在的那一份字符串,不会创建新的对象。JDK1.8中字符串常量池和运行时常量池逻辑上属于方法区,但是实际存放在堆内存中,因此既可以说两者存放在堆中,也可以说两则存在于方法区中,这就是造成误解的地方。String是不可变字符串的原因:String变量每次修改其实都是产生并指向新的字符串对象,原来的字符串对象是没有改变的。不是双引号直接给出来的,运算出来的结果时放在堆内存的。原创 2023-01-23 12:19:50 · 87 阅读 · 0 评论 -
JVM内存管理[运行时数据区]
一个进程对应一个JVM实例,一个JVM实例里只有一个Runtime Data Area(运行时数据区),其中只有一个堆和一个方法区。一个进程可以有多个线程,线程共享堆和方法区,但每个线程都有但单独的程序计数器,本地方法栈和虚拟机栈。堆可以物理上不连续,但逻辑上是连续的。原创 2023-02-24 21:16:26 · 88 阅读 · 0 评论