Java基础教程之String深度分析

preview
需积分: 0 0 下载量 187 浏览量 更新于2020-08-25 收藏 100KB PDF 举报
Java基础教程之String深度分析 Java基础教程之String深度分析主要给大家介绍了关于Java基础教程之String的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值。 1. String类的不可变性 String类是一个不可变的类,它的值不能被改变。String对象一旦在堆中创建出来,就无法再修改。因为String对象放在char数组中,该数组由final关键字修饰,不可变。 2. 字符串常量池 字符串常量池是一块特殊的独立内存空间,放在Java Heap中。在Jdk7.0之前字符串常量池存放在PermGen中,Jdk7.0的时候移动到了Java Heap(在堆中仍然是独立的),Jdk8.0的时候去掉了PermGen,用Metaspace进行取代。字符串常量池中保持独一份的字符串字面量,无论谁引用都是同样的网址和同样的内容。 3. String对象的创建 可以使用多种方式创建String对象,例如:String str1 = "helloworld"; String str2 = "helloworld"; String str3 = new String("helloworld");。其中str1和str2引用的字符串字面量就在字符串常量池中,而str3引用的对象在Java Heap中。 4. String.intern()方法 String.intern()方法可以将堆中的String对象放到字符串常量池中,这样做可以提升内存使用效率,同时可以让所有使用者共享唯一的实例。例如:System.out.println(str1 == str3.intern()); //运行结果为true 5. String类的实现逻辑 String类的实现逻辑可以通过查看源码来了解。例如:public final class String { private final char value[];}。String类的源码可以帮助我们更好地理解String类的实现机制和内部工作原理。 本节课主要讲解了Java基础教程之String的相关知识点,包括String类的不可变性、字符串常量池、String对象的创建、String.intern()方法和String类的实现逻辑等。这些知识点对大家的学习和工作具有一定的参考学习价值。
weixin_38713057
  • 粉丝: 3
  • 资源: 946
上传资源 快速赚钱
voice
center-task 前往需求广场,查看用户热搜

最新资源