GC频繁抖动的主要原因
2024-10-18 21:49:33
内存抖动
内存抖动是因为大量的对象被创建又在短时间内马上被释放,如循环中分配对象,很容易引起GC,特别是在较大的循环次数或者一个循环中分配较多的临时对象时。
瞬间产生大量的对象
瞬间产生大量的对象,即使对象不大,也可能使得堆的可用空间达到阈值出发GC或导致堆的扩容产生GC。
分配大内存块的对象
分配大内存块的对象,如图片,大的byte数组等,虽然堆剩余内存空间足够,但是仍然可能出发GC,因为内存碎片导致了找不到连续空间来分配这大内存,从而出发GC。
内存泄露
内存泄露,会导致可用内存越来越少,而且导致碎片也可能越来越严重,这样就更加容易出发GC。
最新文章
- Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端
- C#调用Win32API
- javascript中的this应用
- C++中的空类与空结构体大小
- lenovo X230热键功能
- MySQL基础之第15章 MySQL用户管理
- Linux常用命令之grep
- [C#]AccessUtils
- UVALive 6190 Beautiful Spacing (2012 Tokyo regional)
- BZOJ 2707: [SDOI2012]走迷宫( tarjan + 高斯消元 )
- java学习之总结
- CODEFORCES 125E MST Company 巧用Kruskal算法
- [论文阅读] Deep Residual Learning for Image Recognition(ResNet)
- OpenCV3计算机视觉Python语言实现笔记(一)
- Java中常用类(包装类扩展知识)
- Linux文件和目录常用操作命令(40个)
- 微信小程序 bindcontroltap 绑定 没生效
- 64位平台C/C++开发注意事项
- Symbol 实现属性私有化的方式
- 状压dp(B - 炮兵阵地 POJ - 1185 )