`
xsjwan
  • 浏览: 3692 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

String.intern学习

    博客分类:
  • java
阅读更多
			String s1 = new StringBuffer().append("你好").append("世界").toString();
			System.out.println(s1.intern()==s1);//true
			String s3 = new StringBuffer().append("你好").append("世界").toString();
			System.out.println(s3.intern()==s3);//false
			System.out.println(s3.intern()==s1);//true
			System.out.println("你好世界"==s1);//true
			System.out.println("你好世界"==s3);//false

 intern方法是从常量池中取字符串,第一次是未取到,存入常量池,第二次直接从常量池取到,

常量池中存的也是对象的引用。

注:jdk1.7环境上进行测试。

分享到:
评论

相关推荐

    C#中字符串优化String.Intern、IsInterned详解

    本文将给大家详细介绍关于C#字符串优化String.Intern、IsInterned的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 首先看一段程序: using System; class Program { static void ...

    字符串string.zip

    字符串字面量和`String.intern()`方法都涉及到字符串池的概念。 本压缩包的“Chapter15”可能涵盖了以上部分或全部知识点,包括实例演示、上机练习参考答案和课后作业参考答案,为学习者提供了实践和巩固所学的宝贵...

    MLDN魔乐JAVA_07作业讲解、String.rar

    这份资料可能是为学习者提供了关于String类的使用方法、特性以及相关编程作业的解答,旨在帮助他们深入理解和应用这一关键概念。 【描述】"魔乐JAVA" 暗示这是一个由魔乐教育机构推出的Java编程系列课程,可能包含...

    Java基础教程之String深度分析

    Java基础教程之String深度分析主要给大家介绍了关于Java基础教程之String的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。 1. String类的不可变性 String类是一个不可...

    8 StringTable(字符串常量池).md,学习代码

    2. **`intern()` 方法**:`String`类有一个`intern()`方法,允许程序动态将字符串加入到池中。例如,`String str2 = new String("hello").intern();`,即使`str2`是通过`new`关键字创建的,调用`intern()`后也会指向...

    Java类库复习——java.lang.String

    在`String`的源码中,可以学习到如何设计一个高效且安全的不可变类。 总的来说,`String`类是Java开发中不可或缺的一部分,理解和掌握其特性和方法对于编写高质量的代码至关重要。通过深入研究源码,我们能更深入地...

    Java 实例 - 字符串优化源代码-详细教程.zip

    例如,`String str = new String("test").intern();` 这样可以确保str引用的是池中的"test",而不是堆中的新对象。 5. 预估字符串长度:在创建StringBuilder或StringBuffer时,预估好可能的长度可以减少扩容操作,...

    java String类的实现

    Java中的`String`类是编程中最常用的类之一,它在Java的`java.lang`包中,无需显式导入即可使用。`String`类代表不可变的字符序列,这意味着...通过深入学习和实践,你可以更好地利用`String`类来处理各种文本数据。

    Java基础复习(内附String中equals与==区别的分析)

    String str1 = new String("Hello").intern(); String str2 = "Hello"; System.out.println(str1 == str2); // 输出 true,因为调用intern()后,str1指向了常量池中的"Hello" ``` 在实际开发中,根据需求选择合适的...

    【Java编程教程】详解Java String字符串.pdf

    Java中的字符串是编程中至关重要的概念,...通过深入学习和熟练掌握`String`类的方法,可以更高效地处理字符串,提高代码质量。在面试和实际工作中,对字符串的理解和熟练使用往往能够体现一个Java程序员的专业素养。

    winform 字符串池源码

    源码中可能会有使用字符串池的示例代码,展示如何通过`string.Intern`方法将字符串加入到池中,以及如何查询已存在的字符串。 学习这段源码可以帮助我们更好地理解.NET运行时如何处理字符串,从而优化我们的...

    Java初学者都必须理解的问题.doc

    此外,如果需要创建内容相同的字符串,可以使用字符串字面量或者`String.intern()`方法来避免创建重复的String对象,以节省内存。例如: ```java String s1 = "Hello"; String s2 = "Hello"; System.out.println(s1...

    C# 特殊的string类型详解

    为了优化这种情况,C#提供了`string.Intern`方法。这个方法会查找字符串驻留池,如果找到了与之相等的字符串,就返回该字符串的引用。例如: ```csharp str4 = string.Intern(str4); Console.WriteLine...

    后端知识库(八股文大全 没事的时候再看)_20230303012103.docx

    - 运行时常量池:在运行时可动态添加常量,如String.intern()。 - 全局字符串常量池:JVM维护的字符串引用表,使用Hashtable实现,存储字符串实例的引用。 - 基本类型包装类对象常量池:Byte、Short等基本类型...

    String常用方法练习

    在Java编程语言中,`String`类是使用最频繁的类之一,因为它在处理文本...同时,也可以学习如何在实际代码中组织和测试这些方法,增强编码技巧。记得在运行代码时,仔细观察结果,以便更好地理解字符串操作的内部机制。

    java代码优化细节总结1.0版本.zip

    - 利用`String.intern()`方法共享相同的字符串实例,节省内存。 5. **集合操作优化** - 根据需求选择合适的集合类型,如`ArrayList`适合随机访问,`LinkedList`适合插入删除。 - 预估集合大小,避免自动扩容导致...

    JVM的学习笔记PDF版

    10. **JVM优化实践**:包括减少Full GC次数、调整堆大小、优化字符串池、使用String.intern()、避免过度的对象创建等,都是实际开发中提升系统性能的重要手段。 这份学习笔记应该详细涵盖了这些知识点,为深入理解...

    StringManipulation:Java中的字符串处理算法

    3. 利用`String.intern()`方法减少内存消耗,将重复字符串引用指向同一个对象。 通过`StringManipulation`项目,我们可以深入学习和实践这些字符串处理技巧,提升代码质量和效率。项目的源代码会包含具体的实现,...

    Java编程性能优化技巧有哪些共7页.pdf.zip

    7. **使用String.intern()**:对于常量字符串,使用intern()方法可以将字符串引用指向常量池中的共享实例,减少内存占用。 8. **减少垃圾收集**:通过对象池、预分配内存等方式减少垃圾产生,降低垃圾收集频率。...

    C#字符串内存分配与驻留池学习分享

    string s2 = String.Intern(sb.ToString()); bool same = (object)s1 == (object)s2; // now true ``` 使用`Intern`方法后,`s2`和`s1`又指向了同一个实例,即使`s2`最初是通过`StringBuilder`创建的。 需要注意的...

Global site tag (gtag.js) - Google Analytics