jvm垃圾回收机制

来源:互联网 发布:淘宝售后主管如何管理? 编辑:程序博客网 时间:2024/05/11 17:36

记录自己现阶段理解的GC回收机制。

GC全称 Garbage Collection垃圾回收机制
GC的作用:1.那些内存需要回收2.什么时候回收3.如何回收
什么时候用到GC:1.排插内存泄漏2.排查内存溢出3.性能调优,排查并发瓶颈
GC主要处理的是对象的回收操作,那么什么时候出发一个对象的回收:
    1、对象没有引用时候
    2、作用域发生未捕获异常
    3、程序在作用域正常执行完毕时候
    4、程序发生意外终止(被杀进程)等等。
    5、调用System.gc()方法。
当一个对象被定义为null时候并不一定会被标记为可回收对象。可通过实例来进行测试。
java把内存划分为两种:一种是栈内存(stack)<先进后出>,一种是堆内存(heap)
    a、堆内存是用来存放由new创建的对象和数组,即动态申请的内存都存放在堆内存
    b、栈内存是用来存放在函数定义的一些基本类型的变量和对象的应用变量。
    例如:局部变量在栈里,new函数申请的内存在堆里。函数调用参数,函数返回值,函数返回地址都存在栈里。
    java程序员不能直接设置heap和stack.
现在的高性能j2ee的系统中,我们大量用到了反射、动态代理等,这些频繁的调用自定义类加载器,都需要动态的记载和卸载,以保证永久不会发生内存溢出。


原创粉丝点击