TMD,JVM类加载原来是这样的!!!!
接上篇:https://my.oschina.net/jiagoushi/blog/5597878 通过字节码,我们了解了class文件的结构 通过运行数据区,我们了解了jvm内部的内存划分及结构 接下来,让我们看看,字节码怎么进入jvm的内存空间,各自进入那个空间,以及怎么跑起来。 4.1 加载 4.1.1 概述 类的加载就是将class文件中的二进制数据读取到内存中,然后将该字节流所代表的静态数据结构转化为方法区中运行的数据结构,并且在堆内存中生成一个java.lang.Class对象作为访问方法区数据结构的入口。 注意: 加载的字节码来源,不一定非得是class文件,可以是符合字节码规范的任意地方,甚至二进制流等 从字节码到内存,是由加载器(ClassLoader)完成的,下面我们详细看一下加载器相关内容 4.1.2 系统加载器 jvm提供了3个系统加载器,分别是Bootstrp loader、ExtClassLoader 、AppClassLoader 这三个加载器互相成父子继承关系 1)Bootstrp loader Bootstrp加载器是用C++语言写的,它在Java虚拟...