java类加载机制

类加载机制

  1. class文件加载到内存
  2. 数据校验,解析,初始化
  3. 可被jvm直接使用的java类型

类加载方式:

  • 隐式。程序运行过程中碰到new等方式生成对象,隐式调用类加载器加载对应的类到jvm
  • 显示。利用反射,class.forname显示加载

类加载器类型:

  • bootstrap加载器:java核心类库,无法被java程序直接引用。加载Java_HOME/lib/或者-Xbootclasspath 参数所指定
  • extensions加载器:java扩展类。加载libext目录或Java. ext. dirs系统变量指定的路径
  • system加载器:classpath。一般地,java应用类通过ClassLoader.getSystemClassLoader()加载
  • 用户自定义加载器:继承classloader

类加载执行过程:

  1. 加载:导入class文件
  2. 验证:class文件的正确性
  3. 准备:静态变量分配内存空间
  4. 解析:常量池的符号引用替换直接引用,指向内存地址
  5. 初始化:初始化静态变量和静态代码
原文地址:https://www.cnblogs.com/ivy-xu/p/12553025.html