java类的加载机制及加载过程是什么

63次阅读
没有评论

共计 706 个字符,预计需要花费 2 分钟才能阅读完成。

Java 类的加载机制是指 Java 虚拟机 (JVM)在运行时,加载和初始化 Java 类的过程。
Java 类的加载过程主要分为三个阶段:

  1. 加载(Loading):在加载阶段,JVM 根据类的全限定名(即类的包名加上类名)来查找并加载类的字节码文件。具体来说,JVM 会根据类加载器(ClassLoader)的层次结构,先尝试使用启动类加载器(Bootstrap ClassLoader)加载类,如果找不到,则由扩展类加载器(Extension ClassLoader)加载类,最后由应用程序类加载器(Application ClassLoader)加载类。如果以上类加载器都找不到类,则会抛出 ClassNotFoundException 异常。
  2. 链接(Linking):在链接阶段,JVM 对类的字节码进行验证、准备和解析等操作。
  • 验证(Verification):验证阶段主要是确保类的字节码符合 Java 虚拟机规范,并且不会损害虚拟机的安全性。
  • 准备(Preparation):准备阶段主要是为类的静态变量分配内存,并设置默认初始值。
  • 解析(Resolution):解析阶段主要是将类、接口、字段和方法的符号引用解析为直接引用。
  1. 初始化(Initialization):在初始化阶段,JVM 执行类的静态变量赋值和静态代码块的代码,以及执行类中定义的静态方法。在这个阶段,JVM 会保证多线程环境下的安全性,即只有一个线程能够初始化类,其他线程需要等待。

需要注意的是,类的加载过程是在运行时动态进行的,而不是在编译时静态进行的。这意味着,Java 代码中引用的类,在编译时可能还不存在,只有在运行时才会被加载和初始化。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计706字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)