【笔记】将字符串放入串池

前言

将字符串放入串池学习笔记

字符串常量

  • new出来的字符串,编译器将自动将其放入串池
1
String s = "";
1
String s = new String("");

将堆中的字符串放入串池

  • 通过运算符得到的新字符串,编译器将自动将其放入堆中
  • 如果程序中使用了大量的重复字符串,可以通过将堆中的字符串放入串池,节省堆内存的使用,从而实现JVM调优
  • 可以通过intern()方法可以尝试将堆中的字符串放入串池,并返回串池中的对象
    • 如果已存在则不会再次放入串池
    • JDK1.8及之后,如果不存在则立即将堆中的字符串放入串池
    • JDK1.8之前,如果不存在则立即将堆中的字符串复制一份,将副本放入串池
1
2
String s = new String("") + new String("");
s = s.intern();

完成

参考文献

哔哩哔哩——黑马程序员