StringTable
1、String基本特性



2、String的内存分配
字符串常量池的位置在 堆 里面


3、String的基本操作

4、字符串拼接操作

1 编译期 优化

使用 intern() 会将 s8 的内容放到字符串常量池中
其他 s1 + s2 带有变量的拼接,其结果在堆中,原理是 Stringbuilder

字符串前后出现变量拼接的执行流程 底层使用的是 String builder 的 append()

常量的拼接

5、intern()的使用


new String 会创建几个对象? 两个 new 了一个 ,常量池一个 前提是 常量池中不存在


字节码






6、String Table中的垃圾回收
字符串常量池中存在垃圾回收 yongGC 内存不足是 会发生yongGC
7、G1中的String去重操作



Java StringTable详解
本文深入探讨了Java中StringTable的工作原理,包括String的基本特性和内存分配、字符串常量池的位置及垃圾回收机制、String的基本操作及拼接优化、intern()方法的使用场景,并介绍了G1垃圾收集器中的字符串去重操作。

被折叠的 条评论
为什么被折叠?



