zoukankan      html  css  js  c++  java
  • JVM类加载的过程

    (一)类加载JVM内存中图解:

    (二)(JVM)工作机制:

    (1)装载:查找和导入Class(二进制)文件。

    (2)链接:把类的二进制数据合并到JRE中;

             ①验证:检查载入Class文件数据的正确性

             ②准备:给类的静态变量static)分配存储空间 。

             ③解析:将符号引用--转成-->直接引用

     (3)初始化:对(static)类的静态变量静态代码块儿执行初始化操作。

     【注意:Java动态拓展运行期动态加载动态链接实现的】比如:如果编写一个使用接口的应用程序,可以等到运行时再指定其实际的实现(多态),解析过程有时候还可以在初始化之后执行;比如:动态绑定(多态)

    (三)过程详解:

    (1)加载:类的Class文件的二进制数据---读入内存-->放在方法区,然后再创建java.lang.Class对象【用来封装类在方法区内的数据结构】

             加载.class文件方式:

    ---->对应JVM虚拟机做的事儿

    (二)验证:

    (三)准备:为类变量分配内存并设置类变量初始值方法区中进行】:

    (四)解析:【常量池的】符号引用--->直接引用的过程:

    (五)初始化【真正执行Java代码】:为类的静态变量赋正确的初始值。

    (1)java中对类变量进行初始化值设定的两种方式:

    (2)JVM初始化步骤:

    (3)初始化阶段执行构造器的过程:

    (4)初始化的触发条件: 

  • 相关阅读:
    Ubuntu下errno值
    Git 经常使用命令总结
    【我们都爱Paul Hegarty】斯坦福IOS8公开课个人笔记38 Unwind Segue反向过渡
    高斯噪声
    小记5.8面试
    基数排序之多keyword排序运用队列
    广告贴
    输入字符串反序输出
    Codeforces Round #313 A. Currency System in Geraldion
    matlab中怎样加入凝视
  • 原文地址:https://www.cnblogs.com/not-alone/p/8546159.html
Copyright © 2011-2022 走看看