文章分类 -  java虚拟机

对于java虚拟机底层原理
摘要:[toc] 从字节码角度分析重载与重写 代码分析 字节码分析 符号引用,直接引用 有些符号引用是在类加载阶段或是第一次使用时就会转换为直接引用,这种转换叫做静态解析; 另外一些符号引用则是在每次运行期直接转换为直接引用,这种转换叫做动态链接,这体现为Java的多态性 相关字节码说明 Test5.cl 阅读全文
posted @ 2019-03-12 22:05 刘丽刚 阅读(103) 评论(0) 推荐(0)
摘要:[toc] 线程上下文加载器 类加载的“全盘负责” 所谓类加载器的“全盘负责”机制:例如当一个类加载器负责加载某个Class时,该Class所依赖的引用的其他Class也将由该类加载器尝试负责加载,除非显示指定另外一个类加载来加载。 如:ClassX引用了ClassY,那么加载ClassX的加载器会 阅读全文
posted @ 2019-03-12 21:32 刘丽刚 阅读(184) 评论(0) 推荐(0)
摘要:@[toc] 对类加载的理解 自定义类加载器 命名空间 命名空间:每个类加载器都有自己的命名空间,命名空间由该加载器及所有父加载器所加载的类组成在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类 在不同的命名空间中,有可能会出现类的完整名字(包括类的包名)相同的两个类。 注意:不同 阅读全文
posted @ 2019-03-12 16:51 刘丽刚 阅读(77) 评论(0) 推荐(0)
摘要:[toc] 类的初始化过程 基本概念 类加载:在java代码中,类型(class,enum,interface)的加载、连接和初始化过程都是在程序运行期间完成的。这样提供了更大的灵活性,增加了更多的可能性 类加载器:JAVA源程序=====》javac编译=====》字节码文件.class===== 阅读全文
posted @ 2019-03-10 10:14 刘丽刚 阅读(2717) 评论(0) 推荐(0)
摘要:1.JVM的运行时数据区 根据JVM规范,JVM内存共分为虚拟机栈,堆,方法区,程序计数器,本地方发栈五个部分.其中堆与方法区是线程共享,其他三个是线程私有的 a.java虚拟机栈 线程私有;每个方法在执行的时候会创建一个栈帧,存储了局部变量表,操作数栈(如sum = i + j 处理后将结果存储到 阅读全文
posted @ 2018-08-28 21:41 刘丽刚 阅读(138) 评论(0) 推荐(0)