大家好,又见面了,我是你们的朋友全栈君。
这几天在看Java虚拟机方面的知识时,看到了有几种不同常量池的说法,然后我就去CSDN、博客园等上找资料,里面说的内容真是百花齐放,各自争艳,因此,我好好整理了一下,将我自认为对的理解写下来与大家共同探讨:
在Java的内存分配中,总共3种常量池:
-XX:StringTableSize=66666
需要说明的是:字符串常量池中的字符串只存在一份! 如:
String s1 = "hello,world!";
String s2 = "hello,world!";
即执行完第一行代码后,常量池中已存在 “hello,world!”,那么 s2不会在常量池中申请新的空间,而是直接把已存在的字符串内存地址返回给s2。(这里具体的字符串如何分配就不细说了,可以看我的另一篇博客)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/164766.html原文链接:https://javaforall.cn