该博客不会更新,新博客地址:http://codecos.com/

流浪ㄎㄍ蜗牛

读历史、看小说、写程序都是我所爱。 技术不好,头脑不灵光,靠的是兴趣。

导航

Java字符串处理机制

* 简单的总结下:intern()方法
 * 这个方法是扣留的意思。呵呵。
 * 把当前字符串扣留

到池中,然后用同样的字符串时就是从内存池中取,而不会产生新对象,提供效率了撒。
 * 都知道我们在JVM中内置了一个字符串池。
 * 所有的字面值字符串和字符串赋值常量表达式都用intern()方法进行操作。
 * 但是有一点不同,就是通过new生成的字符串对象,这个对象生成了两个字符串对象,
 * 一个是字面字符串(这个可以从池中取,或者生成新字符串对象,并扣留到池中),然后在将这个字符串对象
 * 的值传给new出来的字符串对象的构造器,生成一个新字符串对象(这个字符串是没有扣留到池中的),记住new关键字总是生成了对象。
 * 而我们给这个new出的字符串调用intern()方法,就会把这个字符串对象扣留到池中,而且如果池中有相同的字面值的字符串,
 * 就会返回池中的字符串,如果我们将该字符串引用赋给原先字符串的引用变量,那么我们就会省去一个对象,原先的字符串对象就会被某一个时刻回收,
 * 如果池中没有相同值的字符串就返回该对象自身。

posted on 2009-11-04 20:57  流浪ㄎㄍ蜗牛  阅读(103)  评论(0)    收藏  举报