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 初始化阶段:

  • 相关阅读:
    CoffeeScript介绍
    在ubuntu下安装rails
    NodeJS扫盲班
    sguID056681
    UVA11865 Stream My Contest(最小树形图)
    POJ1469COURSES(二分图最大匹配)
    UVA1494 Qin Shi Huang's National Road System(最小生成树)
    UVA11478 Halum(差分约束系统)
    二分图最大匹配总结
    POJ1466Girls and Boys(二分图最大独立集)
  • 原文地址:https://www.cnblogs.com/gengsc/p/7090519.html
Copyright © 2011-2022 走看看