美文网首页
Java8.0 字符串常量池

Java8.0 字符串常量池

作者: arrow_zh | 来源:发表于2021-07-26 14:10 被阅读0次
1、String对象和String字符串对比
String s1 = "hello";
String s2 = new String("world");

通过编译class文件,执行javap -v xxx.class 可以查看常量池如下

Snipaste_2021-07-27_14-01-47.png
2、String对象和String字符串相加对比
String s1 = "hello" + "world";
String s2 = new String("good" + "man");

通过编译class文件,执行javap -v xxx.class 可以查看常量池如下,可以看出在编译成class阶段java已经把字符串优化成了一个。

Snipaste_2021-07-27_14-04-31.png
3、String对象和String字符串混合相加对比
String s1 = "hello" + new String(" boy");

通过编译class文件,执行javap -v xxx.class 可以查看常量池如下,


Snipaste_2021-07-27_14-08-33.png

相关文章

  • Java8.0 字符串常量池

    1、String对象和String字符串对比 通过编译class文件,执行javap -v xxx.class 可...

  • 字符串常量池

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

  • Java中的常量池

    Java中的常量池分为三类:字符串常量池、class常量池、运行时常量池 字符串常量池 从1.7及其之后,字符串常...

  • JVM-常量池

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

  • 深入浅出JVM常量池

    常量池在JVM中分为三种:字符串常量池,运行时常量池,Class常量池讨论范围 JDK 1.7版本及以后 字符串常...

  • 你对常量池够了解吗

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

  • 彻底弄懂java中的常量池

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

  • java-为什么String要设计成不可变的?

    1 字符串常量池的需要 字符串常量池(String pool,String intern pool, String...

  • JVM内存划分 字符串常量池

    字符串常量池 【字符串常量池】独立于【运行时常量池】Java 6只能增加永久代-XX:MaxPermSize=1G...

  • p4-equals系列:jdk1.6中,JVM字符串常量池在哪里

    在jdk 1.6及以前,字符串常量池是属于运行时常量池的,运行时常量池属于方法区,所以可以说字符串常量池位于方法区...

网友评论

      本文标题:Java8.0 字符串常量池

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