zoukankan      html  css  js  c++  java
  • java类加载机制

    1. 类加载机制:

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

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

    1.1 加载阶段:

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

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

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

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

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

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

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

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

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

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

    1.3 初始化阶段:

  • 相关阅读:
    JVM的基础知识
    tmux常用命令
    JAVA基础—方法覆写、多态
    datetime模块
    time()函数
    Packet Tracer 思科模拟器入门教程 之二 交换机的基本配置与管理
    单元测试前篇
    em
    视口
    浮动
  • 原文地址:https://www.cnblogs.com/gengsc/p/7090519.html
Copyright © 2011-2022 走看看