常量池

作者: Nalanrs | 来源:发表于2019-02-27 23:49 被阅读0次
常量池

常量池,为了方便重复创建相同常量值的对象而出现的。常量池相当于一个内存空间,存在于方法中。

按照代码顺序,先在常量池中创建‘abc’,再将‘abc’指向s1,创建s2时,直接将常量池中存在的‘abc’指向s2;

“==”在这里比较的是对象引用;

String 中的equals方法经过重写后操作为“比较此字符串与指定的对象,当且仅当该参数不为 null,并且是表示与此对象相同的字符序列的 String 对象时,结果才为 true”。

通过 new 来创建对象,创建出的一定是不同的对象,即使字符串的内容是相同的。

“ String s1=new String(“abc”)”语句创建了几个对象?

该语句首先String s1是声明,new String(“abc”)先在常量池中查找,若没有则创建“abc”,而后通过new在堆内存中创建对象,把“abc”拷贝赋值。String 定义为初始化一个新创建的 String 对象,表示一个与该参数相同的字符序列;换句话说,新创建的字符串是该参数字符串的一个副本。故创建常量池和堆内存中两个对象,两个对象的地址值不一样。

字符串串联是通过 StringBuilder(或 StringBuffer)类及其 append 方法实现的,字符串转换是通过 toString 方法实现的。

相关文章

  • 字符串常量池

    静态常量池,运行期常量池,字符串常量池 静态常量池 运行时常量池 字符串常量池 问题 结果: 验证new Stri...

  • java__常量池

    java的常量池分为两种型态:静态常量池和运行常量池 静态常量池: 即class文件中的常量池,这种常量池主要用于...

  • JVM-常量池

    JVM-常量池 JVM常量池分为 Class文件常量池 运行时常量池 全局字符串常量池 基本类型包装类对象常量池 ...

  • 细说Java常量池

      Java中的常量池有:class常量池、运行时常量池、String常量池。 为什么要使用常量池?   避免频繁...

  • Java 内存—常量池

    Java中的常量池分为两种型态: 静态常量池 运行时常量池 静态常量池 所谓静态常量池是指class文件中的常量池...

  • 你对常量池够了解吗

    在 java 中,常量池分为以下三种: class 常量池 字符串常量池 运行时常量池 一、class 常量池 1...

  • 彻底弄懂java中的常量池

    JVM有几种常量池 主要分为: Class文件常量池、运行时常量池,全局字符串常量池,以及基本类型包装类对象常量池...

  • 常量池

    Java中的常量池,实际上分为两种形态:静态常量池和运行时常量池。 静态常量池 : *.class文件中的常量池,...

  • JVM(六)JVM常量池

    1.常量池类型 Java中的常量池分为三种: 类文件常量池(静态常量池)(The Constant Pool)运行...

  • 【JAVA基础】常量池、字符串字面量、JAVA编译

    1.常量池的概念 分为两大类:静态常量池和运行时常量池。 class文件静态常量池即class文件中的常量池, 指...

网友评论

      本文标题:常量池

      本文链接:https://www.haomeiwen.com/subject/pjccuqtx.html