ava中,是否有内存泄漏问题?

理论上Java由垃圾回收机制GC,不会存在内存泄漏问题;

但在实际项目开发的时候,就会经常遇到内存泄漏的问题。可能会存在没有用处但是还存在在内存空间的对象,这些对象不能被GC回收,所以这些对象的堆积也会使得内存造成泄漏。比如hibernate的session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收这些兑现的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close)或清空(flush)一级缓存就可能导致内存泄漏。

 

在Java语言中,判断一个内存空间是否符合垃圾回收的标准有两个:

给对象赋予了空值null,以后再没有被使用过;
给对象赋予了新值,重新分配了内存空间。
一般来讲,内存泄漏主要有两种情况:

在堆中申请了空间没有被释放;
对象已不再被使用,但还仍然在内存中保留着。
垃圾回收机制的引入可以有效地解决第一种泄漏情况;而对于第二种,垃圾回收机制则无法保证不再使用的对象会被释放。因此Java语言中的内存泄漏主要指第二种情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值