c# – 什么时候(不)两个具有相同内容的字符串共享相同的内存?
作者:互联网
来自问题will two strings with same content be stored in the same memory location?
拥有Java代码
String s1="Java";
将此字符串分配到相同的内存位置(或多重):
>如果多次并行执行同一程序(并发)?
可能的答案:
我目前是C#开发人员(虽然在上一个千年中用Java编程).
我问过这个问题,因为我认为.NET CLR和Java(JVM)之间是一样的,我希望得到.NET应用程序的答案(但不知何故,经常遇到的“应用程序”池术语存在疑问).
所以,它似乎是(抱歉在问之前没有详尽的搜索):
> Does the CLR/JVM keep one single intern pool for all running .net/java apps?
答案是,字符串实习池是根据同一JVM或.NET CLR的所有实例/程序共享的.
解决方法:
@根纳季 – 瓦宁 – 新西伯利亚….
String s1 =“Java”; String s2 =“Java”; String s3 =“Java”; String s4 =“Java”;
>以上在StringConstantPool位置中可用的所有对象,所有对象都指向仅一个(“Java”)位置
标签:java,net,memory-management,literals,c-2 来源: https://codeday.me/bug/20190901/1780330.html