JAVA内存泄漏与常见问题定位

本文介绍了JAVA内存泄漏和常见问题,包括内存溢出和内存泄漏的定义与解决方法。针对内存泄漏,通过jstat、jmap等工具进行定位,并提供了如jps、jinfo等监控和分析JVM状态的工具。
摘要由CSDN通过智能技术生成

JAVA后端开发知识总结(持续更新…)


JAVA内存泄漏与常见问题定位



一、内存溢出

  OutOfMemoryError:JVM内存过小;程序不严密,产生了过多的垃圾。其解决方法在于:

  1. 增加JVM的内存大小,特别是对启动参数内存值的设定。
  2. 根本上解决Java内存溢出的唯一方法就是修改程序,及时地释放没用的对象,释放内存空间,避免死循环,防止一次载入太多的数据。

二、内存泄漏

  内存泄露,是指程序在申请内存并且用完这块内存后(对象不再需要了),没有释放已申请的内存空间。此时会出现内存持续上升的情况,容易导致OOM。在Java中,内存泄漏就是存在一些被分配的对象,这些对象有下面两个特点:

  1. 首先,这些对象是可达的,即在有向图中,存在通路可以与其相连;
  2. 其次,这些对象是无用的,即程序以后不会再使用这些对象。

2.1 定位与解决

  1. 通过jstat命令进行监视,查看GC总体情况,及各个区的使用率变化。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值