zoukankan      html  css  js  c++  java
  • java 垃圾回收机制

    参考:

    http://www.cnblogs.com/laoyangHJ/articles/java_gc.html

    http://blog.csdn.net/mahongming/article/details/5992083

    java垃圾啊回收机制

    回收方法:

    1.引用计数收集器 有引用,标志加1,垃圾回收标志是0的

    2.跟踪收集器 从基础对象开始递归确定对象是否可达

    3.object--finalize() 在垃圾回收时执行

    4.程序员可以通过调研System.gc方法来建议执行垃圾收集

    jvm内存分配:

    1.堆:所有通过new创建的对象的内存都在堆中分配。

      1.新生代(Eden,FromSpace,ToSpace)

      2.旧生代

    2.方法区:存放了要加载的类信息、静态变量、final类型的常量、属性和方法信息

    3.本地方法栈:用于支持native方法的执行

    4.栈:每个线程执行每个方法的时候都会在栈中申请一个栈帧,每个栈帧包括局部变量区和操作数栈,用于存放此次方法调用过程中的临时变量、参数和中间结果

    gc原理:

    1.gc只进行堆中的回收

    2.对新生区的回收用 Copying算法  频率高

    新生代采用空闲指针的方式来控制GC触发,指针保持最后一个分配的对象在新生代区间的位置,当有新的对象要分配内存时,用于检查空间是否足够,不够就触发GC。扫描出存活的对象,并复制到一块新的完全未使用的空间中,对应于新生代,就是在Eden和FromSpace或ToSpace之间copy。

    3.对旧生区的回收 标记(Mark)算法来进行回收 频率低 

    所谓标记就是扫描出存活的对象,然后再进行回收未被标记的对象,回收后对用空出的空间要么进行合并,要么标记出来便于下次进行分配,总之就是要减少内存碎片带来的效率损耗

  • 相关阅读:
    反向代理实例
    nginx常用命令和配置
    nginx的安装
    Can Live View boot up images acquired from 64bit OS evidence?
    What is the behavior of lnk files?
    EnCase v7 search hits in compound files?
    How to search compound files
    iOS 8.3 JB ready
    Sunglasses
    现代福尔摩斯
  • 原文地址:https://www.cnblogs.com/wjw334/p/3634231.html
Copyright © 2011-2022 走看看