【发布时间】:2019-05-07 10:14:51
【问题描述】:
我对@987654322@ 方法的用处有些困惑。
这行代码可以解开我的疑惑:
String a = new String("abc").intern();
上面这行代码会创建多少个对象?如果它会在堆内存和字符串池内存中创建一个对象,那么intern() 方法如何提高性能?
【问题讨论】:
-
“我对 intern() 方法的用处有些困惑” 解决你困惑的简单方法是不要使用它。我不是在刻薄:它很少有用。
-
你给出的例子没有用,因为
String a = "abc";已经被实习了。 -
你认为它为什么会提高性能?
-
Interning string 减少内存使用,性能可能会稍差。有关更多信息,请查看这篇文章:geeksforgeeks.org/interning-of-string。但是,我想说它几乎没有用处。
-
@parichay07 你不会这样做的。你举的例子是任何人都不应该做的。
标签: java heap-memory string-pool