Java虚拟机(JVM)的学习笔记——常量池

常量池(存在于方法区)
静态常量池
运行时常量池

 


String str = "abc";
首先JVM会去常量池里面找是否有"abc"这个字符串的引用,如果有则直接返回常量池中字符串的引用,如果没有则在常量池创建"abc"常量并添加引用


String str = new String("abc")
首先JVM会在堆内存中创建一个String对象
然后JVM会去常量池里面找是否有"abc"这个字符串的引用
如果有则把String对象引用"abc"这个字符串的引用
而str指向的则是String对象本身的引用

 

posted @ 2020-11-22 14:29  金大人的梦  阅读(115)  评论(0编辑  收藏  举报