美文网首页
jvm是如何加载.class文件的

jvm是如何加载.class文件的

作者: bearrrrr | 来源:发表于2019-12-24 15:16 被阅读0次
    jvm是如何加载.class文件的

    java虚拟机是有class loader,runtime data area,execution engine 和 native interface组成的

    由class loader解析特定格式的.class文件 然后execution engine对其解析 解析完成后就提交到操作系统去执行.

                        JAVA的反射实现

    java反射的基本实现

                                            类从编译到执行的过程

    编译器将Tset.java文件编译成Test.class字节码文件

    ClassLoader将.class字节码文件转化为JVM的Class<Test>对象

    JVM利用Class<Test>对象实例化Tset对象

                                              谈ClassLoader

    主要工作在class加载阶段,从系统外部获取Class二进制数据流,所有的class都是由ClassLoader加载的,负责通过将class文件的二进制数据流装载进系统,然后交给java虚拟机进行连接,初始化等操作

                                            ClassLoader的种类

    BootStrapClassLoader 加载核心库java.*  由c++编写

    ExtClassLoader 加载扩展库javax.*

    AppClassLoader 加载程序所在目录

    自建ClassLoader

    后三者都是由java编写

    自己粗略的写一个classLoader jvm是如何加载.class文件的

    双亲委派机制可以避免相同字节码的加载

    classLoader.loadClass和Class.forName的区别

    相关文章

      网友评论

          本文标题:jvm是如何加载.class文件的

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