随笔分类 -  java虚拟机

摘要:[toc] java垃圾回收 JVM内存模型 如何判断是否垃圾 引用计数法 引用计数器的实现很简单,对于一个对象A,只要有任何一个对象引用了A,则A的引用计数器就加1,当引用失效时,引用计数器就减1。只要对象A的引用计数器的值为0,则对象A就不可能再被使用。 引用计数法存在的问题: 1. 效率问题, 阅读全文
posted @ 2019-03-29 21:37 刘丽刚 阅读(1788) 评论(0) 推荐(0)
摘要:[toc] java运行时数据区分析 概览 堆 是Java虚拟机所管理的内存中最大的一块。由所有线程共享,在虚拟机启动时创建。 堆区唯一目的就是存放对象实例。 堆中可细分为新生代和老生代(垃圾回收期主要回收的区域),新生代又可细分为Eden空间,From Survivor空间、To Survivor 阅读全文
posted @ 2019-03-29 11:01 刘丽刚 阅读(554) 评论(0) 推荐(0)
摘要:[toc] 从字节码角度分析重载与重写 代码分析 字节码分析 符号引用,直接引用 有些符号引用是在类加载阶段或是第一次使用时就会转换为直接引用,这种转换叫做静态解析; 另外一些符号引用则是在每次运行期直接转换为直接引用,这种转换叫做动态链接,这体现为Java的多态性 相关字节码说明 Test5.cl 阅读全文
posted @ 2019-03-12 22:04 刘丽刚 阅读(266) 评论(0) 推荐(0)
摘要:[toc] 线程上下文加载器 类加载的“全盘负责” 所谓类加载器的“全盘负责”机制:例如当一个类加载器负责加载某个Class时,该Class所依赖的引用的其他Class也将由该类加载器尝试负责加载,除非显示指定另外一个类加载来加载。 如:ClassX引用了ClassY,那么加载ClassX的加载器会 阅读全文
posted @ 2019-03-12 21:26 刘丽刚 阅读(1276) 评论(0) 推荐(0)
摘要:@[toc] 对类加载的理解 自定义类加载器 命名空间 命名空间:每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类 在不同的命名空间中,有可能会出现类的完整名字(包括类的包名)相同的两个类。 注意:不同 阅读全文
posted @ 2019-03-12 16:49 刘丽刚 阅读(218) 评论(0) 推荐(0)