Java也存在内存泄漏问题。虽然JVM会自动回收没有引用的对象,但是如果编码过程中写错了代码,也会出现内存泄漏
例如下面的代码
上面的程序创建了一个新的对象test并启动它,test的成员是一个线程,它是无限循环。随后,test被设置为null。现在感觉好像没有引用了,但实际上测试对象还在内存中。
我们知道内部类会持有外部类,即线程的引用这里也相当于一个内部类,所以这里的线程持有test的引用,导致gc不会回收test,而这里的test并不会占用多少内存,
但是当一些较大的对象(比如由于Android中的活动)被泄露,对程序的影响会更大
上一篇:jvm内存泄露及解决办法
下一篇:java排查内存泄漏