来自问题will two strings with same content be stored in the same memory location?
拥有Java代码
String s1="Java";
将此字符串分配到相同的内存位置(或多重):
我目前是C#开发人员(尽管在上一个千年中用Java编程)。
我问过这个问题,因为我相信它在.NET CLR和Java(JVM)之间是一样的,我希望得到.NET应用程序的答案(但不知何故经常遇到的问题"应用程序&# 34;游泳池术语)。
所以,似乎是(抱歉在提问前没有详尽的搜索):
答案是 string 实习池是相同JVM或.NET CLR的所有实例/程序共享的。
答案 0 :(得分:2)
Is string pool created per class basis or per JVM basis?
每个JVM有一个字符串池...除非你使用一些奇特的JVM,否则他们决定以不同的方式实现它。
我认为这回答了,对吧?
答案 1 :(得分:2)
内存位置相同:
String s1="Hola";
String s2="Hola";
不同的内存位置:
String s1="Hola";
String s2=new String("Hola");
答案 2 :(得分:1)
@根纳-瓦宁-西伯利亚....
String s1 =“Java”; String s2 =“Java”; String s3 =“Java”; String s4 =“Java”;
答案 3 :(得分:0)
相同内容的字符串将为同一JVM的每个实例共享相同的空间