• JVM内存分配及GC流程


    -verbose 

    这是查询GC问题最常用的命令之一,具体参数如:

    -verbose:class 输出jvm载入类的相关信息,当jvm报告说找不到类或者类冲突时可此进行诊断。

    -verbose:gc 输出每次GC的相关情况,后面会有更详细的介绍。

    -verbose:jni 输出native方法调用的相关情况,一般用于诊断jni调用错误信息。

    JVM中内存区域

     以下参考https://www.cnblogs.com/zhguang/ Java系列笔记(3)   第5篇看到了6.重排序和一致性规则,第6篇还没看。第1 2 4都大致看过了一遍

    访问对象的方式

    以下参考 https://www.cnblogs.com/ityouknow/p/5614961.html 

    对象存活判断

    判断对象是否存活一般有两种方式:

    引用计数:每个对象有一个引用计数属性,新增一个引用时计数加1,引用释放时计数减1,计数为0时可以回收。此方法简单,无法解决对象相互循环引用的问题。

    可达性分析(Reachability Analysis):从GC Roots开始向下搜索,搜索所走过的路径称为引用链。当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。为不可达对象。

    在Java语言中,GC Roots包括:

      虚拟机栈中引用的对象。

      方法区中类静态属性实体引用的对象。

      方法区中常量引用的对象。

      本地方法栈中JNI引用的对象。

    垃圾收集(GC)算法

    1.标记 -清除法

    2.标记-压缩法

    3.分区拷贝法

    4.分代回收法

    如,JVM中的年轻代(Eden区 S1区 S2区)/老年代/永久代

    https://www.jianshu.com/p/314272e6d35b

  • 相关阅读:
    Java 8 新特性-菜鸟教程 (8) -Java 8 日期时间 API
    Java 8 新特性-菜鸟教程 (7) -Java 8 Nashorn JavaScript
    Java 8 新特性-菜鸟教程 (6) -Java 8 Optional 类
    心理相关
    matlab和Visio安装
    论文资料搜集整理(研究现状)
    调式相关
    梅花落与折杨柳
    混合高斯模型——学习笔记
    NSCT,非下采样Contourlet变换——学习笔记
  • 原文地址:https://www.cnblogs.com/genggeng/p/9878631.html
Copyright © 2020-2023  润新知