在C#中,我必须明确地调用String.Intern(string)才能将字符串添加到实习池中。
Java在概念上是否有相同的想法?期望处理频繁和可重复字符串的人使用实习池来访问和解析字符串吗?
答案 0 :(得分:3)
Java使短寿命对象相当便宜。 Java 8可以完全消除它们。实习它们相当昂贵,如果不小心使用,可能会使应用程序变慢。
对于长期对象,计划制作字符串所引用的char[]
" interned"在GC上。 String对象本身不能自动实现,因为这可能会改变行为。