Java内存泄露

来源:互联网 发布:西安软件开发外包公司 编辑:程序博客网 时间:2024/06/07 09:54

内存泄露的定义:

  • 内存泄露是指申请了内存,但并没有释放内存。
  • 内存泄露一般需要性能测试才能检测出,如压力测试、负载测试、稳定性测试
  • Java的内存泄露主要发生在如图框出的部分:Heap(堆内存)、Stack(栈内存),特别是Heap



Java内存管理:

  • 内存的分配————new
  • 内存的释放————gc
  • 区分“不再引用"和“不再需要”


程序员通过new对象申请内存,在java中程序员并不需要释放内存

在C与C++编程时需要手动申请和释放内存,而java有专门的内存回收机制,会直接回收不再引用的资源,但是程序员如果没有将不再需要的变成不再引用的资源,则占用内存过多,慢慢的就会造成内存溢出


内存分析可参考:

http://blog.csdn.net/jenniferyayun/article/details/49778239

如果将s1=s2;此时S1和S2 都将指向s2指向的内存空间了,则堆中s1原本指向的内存空间就变成垃圾了,java虚拟机将回收这个对象




android常见的内存泄露:

http://blog.csdn.net/bill_ming/article/details/7814841


在开发中要时刻注意


0 0
原创粉丝点击