Java内存泄漏+性能优化+宕机+死锁定位问题的N种姿势
提到内存泄露,搞过C++的同事就笑了,在C++内存泄露排查很简单,用钩子函数勾住内存分配和释放函数malloc和free,统计哪些malloc的内存没有free,就可以找出内存泄露的源头。但在Java里问题复杂的多,主要因为Java在内存之上有层JVM管理内存。JVM先从操作系统申请大内存,接着自己管理这部分内存。所以Java程序的内存泄露分为两种:堆上内存泄露、堆外内存泄露,而堆外内存泄露又分为两种:Java使用堆外内存导致的内存泄露、Java程序使用C++导致的内存泄露。
原创
2022-09-27 17:06:51 ·
1502 阅读 ·
1 评论