• java类加载机制


    1. 类加载机制:

    类被加载到虚拟机内存包括加载、连接、初始化几个阶段,其中链接又被细化为验证、准备、解析。

    这里需要注意的是,解析阶段在某些情况下可以在初始化阶段之后再开始,这是为了支持Java的运行时绑定。各个阶段的作用整理如下: 

    1.1 加载阶段:

    加载阶段可以使用系统提供的加载器(ClassLoader),也可以用自定义加载器完成,开发人员可以通过定义类的加载器去控制字节流的获取方式。

    (1)通过全类名产生对应类的二进制数据流。

    (2)将二进制数据流转换为方法区的数据结构。

    (3)创建类对应的java.lang.Class对象,作为方法区数据结构的访问入口。

    1.2 链接阶段(实现java动态性):

    (1)验证 保证class文件字节流的正确性。

    (2)准备 为方法区的静态变量分配内存空间,并赋初值。

    (3)解析 把符号引用解析为直接引用

      符号引用是一个字符串,它唯一标识一个类、一个字段、一个方法等。

      直接引用对于类变量、类方法指的是指向方法区的指针,然后对于实例方法、实例对象来说就是偏移量,比如一个实例方法,子类中方法表中的偏移量和父类是一致的,这个偏移量可以确定某个方法的位置。

    1.3 初始化阶段:

  • 相关阅读:
    Jeecg代码搬砖圣地第五篇(页面布局)
    Jeecg代码搬砖圣地第四篇(页面标签规则)
    Jeecg代码搬砖圣地第三篇(Excel导入导出)
    小程序前端
    javascript 新版本的语法(ECS6)
    nginx下用getallheaders
    wampser 配置debug需要的参数
    Suhosin(php的保护工具)
    php中empty使用的情况
    写出健壮的代码
  • 原文地址:https://www.cnblogs.com/gengsc/p/7090519.html
Copyright © 2020-2023  润新知