栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

String.intern()的垃圾回收行为

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

String.intern()的垃圾回收行为

实际上,这不是垃圾收集优化,而是字符串池优化。调用时

[String.intern()](http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html#intern())
,您用其基本引用(首次遇到此字符串的引用,如果尚不知道此引用,则为参考)替换对初始String的引用。

但是,一旦您的字符串不再在应用程序中使用,它将成为垃圾回收器问题,因为内部字符串池是String类的静态成员,并且永远不会被垃圾回收。

根据经验,我认为最好 不要 使用此intern方法,而让编译器仅将其用于常量字符串,这些声明如下:

String myString = "a constant that will be interned";

更好的是,从某种意义上讲,它不会让您做错误的假设,

==
而当错误的假设不成立时,它可能会起作用。

此外,事实从

String.equals
根本上说
==
是一种优化,以确保在引擎盖下使用了优化的内部字符串。这是一个更多的证据
==
应该 永远
被串上使用。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/437392.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号