![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
睿智的仓鼠
写最优雅的代码,做一只睿智的仓鼠。
展开
-
JVM 提高垃圾回收效率的方法
一些常见的,可以提高垃圾回收效率的方法: 对象不再使用时,及时将它显式置为null,方便垃圾收集器快速判断 少用 System.gc(),因为它会触发Full GC 少用静态变量。静态变量会作为GC Roots,永远不会回收。 对于String的操作,使用StringBuilder或者StringBuffer,不要直接拼接字符串。因为会在堆上产生很多额外的字符串对象 分散对象创建和销毁的时机,不要突然创建或销毁大量对象,因为这样可能会触发Full GC原创 2022-03-22 15:22:51 · 814 阅读 · 0 评论 -
JVM中的内存泄漏与内存溢出
内存泄漏与内存溢出的区别: 内存泄漏:不再被使用的对象占用的内存空间,本应该被释放,但没有被垃圾回收掉。 内存溢出:在程序运行中,无法申请到足够的内存资源。 1、内存泄漏产生原因: 使用静态的集合类。静态变量不会被垃圾回收,而集合占用的内存又一般很大。 各种连接没有及时关闭,比如数据库连接、IO连接 一些强引用的对象,在不使用后没有置为null,导致无法被回收 变量的作用域设置不合理,存活周期过长 过多的单例模式类 解决方案:原创 2022-03-22 15:20:43 · 1724 阅读 · 0 评论