美文网首页简友广场
Java学习之类加载机制

Java学习之类加载机制

作者: 想要时光机 | 来源:发表于2020-06-29 15:04 被阅读0次

加载流程

类加载.png
  • 加载:此阶段会在内存中生成一个代表这个类的java.lange.class对象,作为方法去这个类的各种数据的入口

  • 验证 : 确保class文件的字节流中包含的信息是否符合当前虚拟机的要求

  • 准备 :在方法去中分配变量所使用的的内存空间

  • 解析 : 虚拟机将常量池中的符号引用替换为直接引用的过程。直接引用可以使指向目标的指针相对偏移量或是一个能间接定位到目标的句柄。如果有直接引用,那引用的目标必定在内存中存在。

  • 初始化: 除了加载阶段可以自定义加载器外其他操作有jvm主导,初始化阶段才开始真正执行类中的java程序代码。初始化阶段是执行类构造器<client>方法的过程。如果一个类中没有对静态变量赋值也没有静态语句块,那么编译器不为改类生成<client>方法

java中的类加载器

  • 启动类加载器(BootStrap classLoader):
    负责加载JAVA_HOME\lib目录中或通过 -xbootclasspath指定路径中且被虚拟机认可的类
  • 扩展类加载器(Extension ClassLoader):
    负责加载 JAVA_HOME\lib\ext目录中或通过 java.ext.dirs系统变量指定路径中的库
  • 应用程序类加载器(Application ClassLoader) :
    jvm通过双亲委派模型进行类的加载
类加载图.png 双亲委托机制下类加载.png

双亲委托机制

当一个类收到了类加载请求,自己不会尝试去加载这个类而是把这个请求委派给父类去完成,只有在父类加载器中无法完成这个请求的时候,子类加载器才会尝试去加载。
双亲委派保证了使用不同的类加载器最终得到的都是同样一个Object对象。

相关文章

  • Java学习之类加载机制

    加载流程 加载:此阶段会在内存中生成一个代表这个类的java.lange.class对象,作为方法去这个类的各种数...

  • 博客 - 收藏集 - 掘金

    Java 技术之类加载机制 - Android - 掘金类加载机制是 Java 语言的一大亮点,使得 Java 类...

  • Java 技术之类加载机制

    类加载机制是 Java 语言的一大亮点,使得 Java 类可以被动态加载到 Java 虚拟机中。这次我们抛开术语和...

  • Java之类的加载机制

    类的加载是每个Java程序必经的流程,了解类的加载机制有助于我们写出更好的代码。 基础 概念 类的加载把描述类的数...

  • Java基础之类加载机制

    一、类加载过程 Java的类加载过程总共包含三大步,分别为:装载、链接和初始化;需要注意的是,这三个步骤并不是简单...

  • Android类加载器以及与Java类加载器区别

    JVM之类加载机制Android类加载器 Android类加载器和Java类加载器比较 加载的字节码不同 相同的是...

  • [转] Java 技术之类加载机制

    看到一篇很好的文章。 作者:wingjayhttp://wingjay.com/2017/05/08/java_c...

  • Android中的类加载机制

    一.概述 通过本篇文章的学习,你将学会:1.java中类加载机制2.Android中类加载机制 二.java类加载...

  • JVM

    JVM之内存模型JVM之对象定位与访问JVM之Java垃圾回收机制JVM之类加载

  • 从类加载开始的JVM学习

    目录 引言 java类加载流程 java类加载机制- 类加载原理- 双亲委派机制 Tomcat中双亲委派机制的应用...

网友评论

    本文标题:Java学习之类加载机制

    本文链接:https://www.haomeiwen.com/subject/veiofktx.html