【发布时间】:2013-03-27 11:31:02
【问题描述】:
来自will two strings with same content be stored in the same memory location?的问题
拥有Java代码
String s1="Java";
这个字符串会被分配在同一个内存位置(或多个):
- 是否要启动同一个程序多次并行(同时)执行?
可能的答案:
我目前是 C# 开发人员(尽管在上个千年中使用 Java 进行了编程)。
我问这个问题是因为我相信 .NET CLR 和 Java (JVM) 之间是一样的,我希望得到 .NET 应用程序的答案(但不知何故,经常遇到的“应用程序”池术语有疑问) .
所以,它似乎是(抱歉在询问之前没有详尽搜索):
答案是 string 实习生池由同一 JVM 或 .NET CLR 的所有实例/程序共享。
【问题讨论】:
-
您打算如何在同一个 JVM 中多次启动同一个程序?
-
好吧,我怀疑它是否会在每次连续执行时分配到相同的内存位置,因为这完全取决于执行时应用程序可用的内存位置。这适用于任何语言,因为它们最终都通过操作系统访问计算机内存。
-
@Jon Skeet,我的意思是“同一个 JVM 的不同实例”
标签: c# java .net memory-management literals