Java会不会出现内存泄露
2017-11-30 16:43
218 查看
1.深入的探究这个问题就需要了解Java是如何管理内存的,需要通过关键字new为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间,对象的释放是由GC决定和执行的。在Java中,内存的分配是由程序完成的,而内存的释放是有GC完成的
2.Java理论上不存在内存泄露,因为有垃圾回收器(GC)对内存进行释放。
3.实际上,java也存在内存泄露问题,原因:主要是一些对象虽然不再被使用,但它们仍然被引用。
怎样阻止内存泄露
1.使用List、Map等集合时,在使用完成后赋值为null
2.使用大对象时,在用完后赋值为null
3.目前已知的jdk1.6的substring()方法会导致内存泄露
4.避免一些死循环等重复创建或对集合添加元素,撑爆内存
5.简洁数据结构、少用静态集合等
6.及时的关闭打开的文件,socket句柄等
7.多关注事件监听(listeners)和回调(callbacks),比如注册了一个listener,当它不再被使用的时候,忘了注销该listener,可能就会产生内存泄露
2.Java理论上不存在内存泄露,因为有垃圾回收器(GC)对内存进行释放。
3.实际上,java也存在内存泄露问题,原因:主要是一些对象虽然不再被使用,但它们仍然被引用。
怎样阻止内存泄露
1.使用List、Map等集合时,在使用完成后赋值为null
2.使用大对象时,在用完后赋值为null
3.目前已知的jdk1.6的substring()方法会导致内存泄露
4.避免一些死循环等重复创建或对集合添加元素,撑爆内存
5.简洁数据结构、少用静态集合等
6.及时的关闭打开的文件,socket句柄等
7.多关注事件监听(listeners)和回调(callbacks),比如注册了一个listener,当它不再被使用的时候,忘了注销该listener,可能就会产生内存泄露
相关文章推荐
- java内存泄露,在什么地方最有可能出现内存泄露?
- Java内存泄露的理解与解决
- java中内存泄露有几种?如何分析泄露原因
- 转一篇有关Java的内存泄露的文章
- Java中内存泄露及垃圾回收机制
- 详细介绍Java的内存管理与内存泄露
- Java内存泄露
- java细节,防止内存泄露
- Java内存泄露监控工具:JVM监控工具介绍
- 什么是Java的内存泄露
- java 代码优化 优化内存使用 防止内存泄露 优化代码规范 提高效率
- java内存溢出和内存泄露
- JAVA内存泄露检测工具如何使用
- Java内存泄露监控工具:JVM监控工具介绍【转】
- java 内存泄露原因
- java内存泄露场景及解决方案
- java 内存 泄露 转载
- 内存管理(一)java的内存泄露预防
- java的内存泄露预防
- Java中内存泄露场景