Java入门之了解JVM(19)

常量(final):类加载的【准备阶段】静态成员:类加载的【初始化阶段】普通成员、构造方法:实例化时(new)类的加载过程

图片源自网络

Java入门之了解JVM

加载:首先java编译器将java源码编译成字节码文件(class文件),随后类加载器(ClassLoader)将其加载;加载时会产生这个class文件的二进制字节流,并通将这个字节流中的静态存储结构(class文件中的常量池)转化成方法区的运行时数据结构(JVM运行时常量池),并在堆中生成一个对应的Class对象作为该方法区的入口;

拓展:

这里的java编译器不单单只有javac,如Eclipse就现了自己的java编译器

注意:在Java规范中并没有对ClassLoader加载的内容进行明确的规范,所以,ClassLoader并不单单只能加载class文件,还有可以jar和网络等等的方式加载

连接(其实java中并不存在连接):对加载过程的二进制字节码流进行连接操作,连接操作包含如图所示的三个步骤:

推荐阅读