java中内存泄漏是指不被程序使用的对象或者变量仍然占用内存的情况。虽然java中引入了垃圾回收机制,会把不可达(不被程序调用的对象)的对象回收,即从内存中清除,但是还是会发生内存泄漏。
比如:
创建一个短生命周期的对象(我们在这简称短对象),在创建一个长生命周期的对象(长对象),然后用长对象调用短对象,当短对象结束,就会发生内存泄露,因为短对象已经不被程序使用了,但是因为它还在被长对象调用,所以jvm是不会回收短对象的,短对象还是占用内存的,这就发生了内存泄漏。
java中内存泄漏是指不被程序使用的对象或者变量仍然占用内存的情况。虽然java中引入了垃圾回收机制,会把不可达(不被程序调用的对象)的对象回收,即从内存中清除,但是还是会发生内存泄漏。
比如:
创建一个短生命周期的对象(我们在这简称短对象),在创建一个长生命周期的对象(长对象),然后用长对象调用短对象,当短对象结束,就会发生内存泄露,因为短对象已经不被程序使用了,但是因为它还在被长对象调用,所以jvm是不会回收短对象的,短对象还是占用内存的,这就发生了内存泄漏。