java如何关闭对象

来源:百度知道 编辑:UC知道 时间:2024/05/30 00:15:04
jsp 每运行一段时间就会抛出 java.lang.OutOfMemoryError: Java heap space
上网查了下资料 初步判定是内存太小,对象没关闭,导致内存溢出。
加大内存显然不是个解决办法,谁知道如何关闭java对象?

你这个java.lang.OutOfMemoryError主要是程序逻辑有问题,不断的实例化对象或者做其他操作引起的,JVM有默认的内存大小,如果超过这个就报这种异常,不过你改了虚拟机内存也没用,因为这个是程序逻辑的问题

不会吧,java的虚拟机有垃圾回收机制,不用的对象自动回收,应该不是那的问题,内存溢出..在启动WebLogic Server时,如果试图调用大量的类,JDK1.3有可能会抛出内存溢出错误。甚至还有大量的内存空间可以使用的时候也会显示这个错误。如果你遇到一个java.lang.OutOfMemory错误时,增大下列JMS选项的值:
java -XX:MaxpermSize=<Value>
这里的<Value>是以千字节为单位的数字。
在JDK1.3.0中,JVM为MaxPermSize设置的默认值是32M。在JDK1.3.1中,默认值是64M。
参考资料:http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=1&threadID=546&tstart=1742

程序逻辑有问题----同意这观点,原因有:

不断有新线程
不断产生新对象
不正当循环
不正当递归
...

把该对象的引用置为null,但前提是没有其他对象调用该对象,否则会出错。java虚拟机会自动回收没有引用的对象。