我读了
String s = new String("Hello")
将在堆中创建两个对象,在String Pool中创建另一个。
但是我们如何检查并确认正好创建了两个对象。(我正在使用Eclipse)
答案 0 :(得分:0)
实际上它不会总是创建两个对象作为String" Hello"可能已经在字符串池中。
无论哪种方式,为了检查你应该使用jmap -heap
之前和之后的def partitions(s):
if s:
for i in range(1, len(s) + 1):
for p in partitions(s[i:]):
yield [s[:i]] + p
else:
yield []
(jdk附带)。它会显示堆摘要。
我认为这是一项学术活动btw。正如LionC评论的那样,你不应该以这种方式构建字符串。