系统相关
首页 > 系统相关> > c# – 什么时候(不)两个具有相同内容的字符串共享相同的内存?

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