Java语言对内存的释放是采用垃圾回收机制。Java虚拟机自动判断并收集垃圾,但一般不会立即释放它
对的,java具体的gc机制你可以google看看,最简单的计数器的做法就是为每一个对象的一次引用计数器加一,当计数器为0的时候,代表没有东西可以引用到它了,会被jvm列入黑名单,过段时间就会回收这里的内存。
java 怎么释放内存?
cc=null;就可以了。java 虚拟机会自己调用gc()方法去释放内存。
显示的调用System.gc()或Runtime.getRuntime().gc()也是可以的。调用了gc()并不会强制释放内存,虚拟机会尽最大努力从所有丢弃的对象中回收了空间。
怎样释放JAVA程序运行中所用的内存
JAVA具有自动的垃圾回收机制,不需要释放内存的操作;
垃圾回收能自动释放内存空间,减轻编程的负担。这使Java 虚拟机具有一些优点。首先,它能使编程效率提高。在没有垃圾回收机制的时候,可能要花许多时间来解决一个难懂的存储器问题。在用Java语言编程的时候,靠垃圾回收机制可大大缩短时间。其次是它保护程序的完整性, 垃圾回收是Java语言安全性策略的一个重要部份。
垃圾回收的一个潜在的缺点是它的开销影响程序性能。Java虚拟机必须追踪运行程序中有用的对象,而且最终释放没用的对象。这一个过程需要花费处理器的时间。其次垃圾回收算法的不完备性,早先采用的某些垃圾回收算法就不能保证100%收集到所有的废弃内存。当然随着垃圾回收算法的不断改进以及软硬件运行效率的不断提升,这些问题都可以迎刃而解。