摘要: 一、如何判定对象为垃圾对象? 1. 引用计数法 在对象中添加一个引用计数器,当有地方引用这个对象的时候,引用计数器的值就+1,当引用失效时,计数器的值就-1。(但是目前GC没有用这种算法的) 判定是否有被回收,需要打印垃圾回收的日志信息。 虚拟机参数:-verbose:gc -XX:+PrintGC 阅读全文
posted @ 2019-03-09 16:01 超轶绝尘 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 二、Java 对象的结构 1.Header(对象头) 自身运行时数据 (Mark Word) 哈希值 Object 的hashCode() 是native修饰的 | GC分代年龄 | 锁状态标志 | 线程持有的锁 | 偏向线程ID | 偏向时间戳 类型指针 哈希值 Object 的hashCode( 阅读全文
posted @ 2019-03-09 12:15 超轶绝尘 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 一、线程独占区 1、程序计数器 程序计数器是一块处于线程独占区较小的内存空间,它可以看是当前线程所执行的字节码的行号指示器。 如果线程执行的是Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址。如果正在执行的是native方法,这个计数器的值为undefined. 此区域是唯一一个在J 阅读全文
posted @ 2019-03-09 11:09 超轶绝尘 阅读(235) 评论(0) 推荐(0) 编辑