java的垃圾回收会由虚拟机自动进行因为各版本虚拟机的实现不一样,具体回收时点会有一定的不同,但大体上在对内存不足时,是一定会尝试进行一次回收的如果回收后,内存还是不够,则会报出经典的OutofMemory异常用户可以调用Systemgc进行强制的内存回收,但和上面一样,回收完后不一定就保证能。
需要注意的是垃圾回收回收的是无任何引用的对象占据的内存空间而不是对象本身,很多人来我公司面试时,我都会问这个问题的,70%以上的人回答的含义是回收对象,实际上这是不正确的SystemgcRuntimegetRuntimegc上面的方法调用时用于显式通知JVM可以进行一次垃圾回收,但真正垃圾回收机制具体。
发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。