怎样释放JAVA程序运行中所用的内存
我不是专业人员,请问在用JAVA程序的过程中,因为用的越久JAVA就占用内存越多,所以我想知道哪种方法可以简便的释放JAVA内存...
我不是专业人员,请问在用JAVA程序的过程中,因为用的越久JAVA就占用内存越多,所以我想知道哪种方法可以简便的释放JAVA内存
展开
5个回答
展开全部
JAVA具有自动的垃圾回收机制,不需要释放内存的操作;
垃圾回收能自动释放内存空间,减轻编程的负担。这使Java 虚拟机具有一些优点。首先,它能使编程效率提高。在没有垃圾回收机制的时候,可能要花许多时间来解决一个难懂的存储器问题。在用Java语言编程的时候,靠垃圾回收机制可大大缩短时间。其次是它保护程序的完整性, 垃圾回收是Java语言安全性策略的一个重要部份。
垃圾回收的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序中有用的对象,而且最终释放没用的对象。这一个过程需要花费处理器的时间。其次垃圾回收算法的不完备性,早先采用的某些垃圾回收算法就不能保证100%收集到所有的废弃内存。当然随着垃圾回收算法的不断改进以及软硬件运行效率的不断提升,这些问题都可以迎刃而解。
垃圾回收能自动释放内存空间,减轻编程的负担。这使Java 虚拟机具有一些优点。首先,它能使编程效率提高。在没有垃圾回收机制的时候,可能要花许多时间来解决一个难懂的存储器问题。在用Java语言编程的时候,靠垃圾回收机制可大大缩短时间。其次是它保护程序的完整性, 垃圾回收是Java语言安全性策略的一个重要部份。
垃圾回收的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序中有用的对象,而且最终释放没用的对象。这一个过程需要花费处理器的时间。其次垃圾回收算法的不完备性,早先采用的某些垃圾回收算法就不能保证100%收集到所有的废弃内存。当然随着垃圾回收算法的不断改进以及软硬件运行效率的不断提升,这些问题都可以迎刃而解。
展开全部
你可以通过GC() 来释放,但是它不能保证立即释放,但是它会根据当前情况进行加权,可以确保垃圾回收器比正常情况提前启动
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java中的内存都是自动释放的,但是什么时候就不能自己决定了,都是靠虚拟机来分配的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接把对象=null,就会被自动回收
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Java中的内存都是自动回收的,不需要你显式的去调用释放。 如果非要这么做,你可以用JDK下的程序 jconsole连接到Java虚拟机,然后执行GC操作。
另外,用的越久,占用内存越多,还应该是代码的问题。
实在解决不了,可以调大虚拟机的最大内存;或者定期重启吧。
另外,用的越久,占用内存越多,还应该是代码的问题。
实在解决不了,可以调大虚拟机的最大内存;或者定期重启吧。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询