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

    加载过程

    加载

    将class文件加载入内存

    连接

    1. 验证。防止传入错误数据弄脏JVM。
    2. 准备。给静态变量分配内存空间。
    3. 解析。将符号引用转为直接引用。

    符号引用:

    A引用B,此时是A引用了B的CONSTANT_Class_info(类似字符串)。

    直接引用:

    A引用B,那么A直接指向B的内存地址。

    初始化执行过程

    1. 静态变量赋值
    2. 执行静态代码块
    3. 普通变量赋值
    4. 执行构造器内容

    父类子类

    加载子类的时候,如果父类没有加载,先加载父类。

    内部类/外部类

    静态内部类和外部类不存在依存关系。单独加载内部类,不会引起外部类的加载。

    双亲委派原则

    使用不同的类加载器都可以对类进行加载。为了防止对同一个类进行多次加载,加载时首先会将加载任务交给父加载器加载,如果父加载器不加载,再交回给子类加载器加载。

  • 相关阅读:
    python中常用的模块二
    python中常用的模块一
    python类与类的关系
    python类的成员
    关于python的面向对象
    python内置函数2
    python内置函数
    python fileinput模块
    python生成器
    python 迭代器
  • 原文地址:https://www.cnblogs.com/pravez/p/12503703.html
Copyright © 2011-2022 走看看