
JVM
暖羲
这个作者很懒,什么都没留下…
展开
-
垃圾收集算法
垃圾收集理论及细节 分代收集理论 大多数对象都是朝生夕灭 熬过越多次垃圾收集过程的对象越难消亡 跨代引用相较于同代引用只占少数 垃圾收集算法 标记-清除 // 既可以标记存活对象,也可以标记消亡对象 标记-赋值 // 标记存活对象,复制到另一半区 标记-整理 // 标记存活对象,移动到一端 HotSpot的垃圾收集算法细节 根节点枚举 // 必须在能保障一致性的快照中进行 安全点 // OOM内存放着存放对象引用的位置 安全区域 // 在整个代码段内,引用关系不变 记忆集与卡表 // 解决跨代引用原创 2020-12-18 16:21:04 · 97 阅读 · 0 评论 -
类文件及类加载
类文件结构 魔数与文件版本 常量池 访问标志 类索引、父类索引与接口索引集合 字段表 方法表 属性表 类加载机制 类加载时机 类的加载过程 加载 验证 准备 解析 初始化 总体类加载原则 使用 卸载 类加载器 双亲委派模型 破坏双亲委派机制 类加载器类型 Class.forName()和ClassLoader.loadClass()区别 类文件结构 魔数与文件版本 常量池 字面量 符号引用 访问标志 public等 类索引、父类索引与接口索引集合 字段表 方法表 属..原创 2020-11-30 18:44:13 · 215 阅读 · 0 评论 -
垃圾回收机制
判断对象生存还是死亡 引用计数法 可达性分析算法 固定可作为GC Roots的对象 几种常见引用 强引用 软引用 弱引用 虚引用 finalize方法最后判断对象是否死亡 以下情况不会二次判断 判断对象生存还是死亡 引用计数法 无法解决循环引用的问题 可达性分析算法 GC Roots做起始节点 固定可作为GC Roots的对象 虚拟机栈中引用的对象 方法区中类静态属性引用的对象 方法区中常量引用的对象 所有被同步锁持有的对象 Native方法引用的对象 Java虚拟机内部的..原创 2020-11-30 18:43:22 · 136 阅读 · 0 评论 -
内存区域
程序计数器(线程私有) 记录当前线程正在执行的虚拟机字节码指令的位置 Java虚拟机栈、本地方法栈(线程私有) 线程的每个方法都有一个对应的栈帧 栈帧中的变量 局部变量表 操作数栈 动态连接 方法出口信息 每个方法被调用到执行完毕的过程等同于一个栈帧在虚拟机栈中入栈和出栈的过程 Java堆(线程共享) 对象实例 数组 对象的内存布局 对象头 mark word 类型指针,指向常量池的类信息 实例数据 代码中定义的字段内容 对齐填充 占位符 对象的访问定位方式 区分依原创 2020-11-29 19:49:46 · 87 阅读 · 0 评论