https://zhuanlan.zhihu.com/p/43279292 https://cloud.tencent.com/developer/article/1810426
https://blog.csdn.net/wuhuayangs/article/details/122594327 一个对象还在但是他的引用却不在了,会导致内存泄漏
https://blog.csdn.net/weixin_44772566/article/details/136515491
https://www.cnblogs.com/myseries/p/12884249.html
https://cloud.tencent.com/developer/article/1810426 https://tech.meituan.com/2014/03/06/in-depth-understanding-string-intern.html
https://blog.csdn.net/NZC2237/article/details/135159926
https://zhuanlan.zhihu.com/p/442259646
https://blog.csdn.net/Alphr/article/details/106295538 https://www.cnblogs.com/javazhiyin/p/14023183.html https://www.toutiao.com/article/6934342274692268556/?group_id=6934342274692268556(对象的内存布局)
https://blog.csdn.net/xiaoliangtx/article/details/118675229
https://blog.csdn.net/u011069294/article/details/107325136
https://javaguide.cn/java/concurrent/jmm.html
https://www.cnblogs.com/ITPower/p/13580691.html
https://blog.csdn.net/wyttRain/article/details/114520547 (内存屏障) https://blog.csdn.net/weixin_44730681/article/details/113782501
https://blog.csdn.net/wojiao228925661/article/details/100136330
https://cloud.tencent.com/developer/article/1540166
https://javaguide.cn/java/jvm/class-loading-process.html
https://javaguide.cn/java/jvm/classloader.html
https://javaguide.cn/java/jvm/jvm-garbage-collection.html
多读几遍:https://developer.aliyun.com/article/928676
jvm调优首先要判断有没有问题?这个要看哪些数据特征?
其次哪个特征异常的话通常可能会是什么问题?
怎么进行问题的排除,确定到底是哪个问题?
如何调整进行解决?
https://blog.csdn.net/CoreyXuu/article/details/110624151
https://www.cnblogs.com/jimoliunian/p/12975201.html
可能的原因:
- 频繁GC
- 死循环、死锁、线程阻塞、io wait等等
死循环和死锁可以通过jstack来查看占用cpu最高的业务线程的堆栈来定位
https://zhuanlan.zhihu.com/p/140742113
内存溢出排查思路: 项目启动的时候要设置内存溢出异常时的日志打印,然后发生溢出的时候导出dump文件进行分析
https://cloud.tencent.com/developer/article/2000708
内存泄漏: 观察gc的情况总会有一些内存回收不掉
https://www.jianshu.com/p/37f7cca2ce5d
堆外内存:
https://juejin.cn/post/7255634554987020343
反射: