本文链接: https://blog.youkuaiyun.com/feather_wch/article/details/131545501
云笔记链接: https://note.youdao.com/s/YcbbhAYK
内存抖动
1、内存抖动是什么?
- 内存可以正常回收
- 但是内存频繁分配和回收,导致频繁GC,系统卡顿(STW)==>CMS(2次STW)
- 会出现碎片,可能导致OOM(没办法分配连续内存空间)
2、String拼接和内存抖动
- String的+=操作,会被编译器优化为(new StringBuilder().append(result).append(args[i]))
- 虽然优化为StringBuilder但是会导致StringBuilder的大量创建(看Java字节码)
public void test(String[] args){