1.编译期只会把 java源文件 编译成 .class文件
在编译这个java源文件的时候,会把所有的有关的源文件,编译成.class文件,当然有些 组件本身在提供的时候就是 class文件
2.编译期,jvm内存没有任何分配,它的作用就是 编译 class文件
3.运行期: 包含类加载和执行
3.1类加载:类加载器会根据自己的检查路径,去找要加载的class文件,将加载的class文件的 class信息 保存在方法区,这一步就是运行期,要配置classPath的,只有配置了classPath,jvm才可以将 jdk目录下的class文件加载进方法区
启动类加载器:加载 jdk.lib目录下的class文件
扩展类加载器:加载jdk.lib.ext文件 下的所有class文件
应用程序加载器:加载用户 类路径 上 指定的类库,一般情况下开发者写的类默认由此加载器加载
3.2执行:去方法区找到 主入口的 class信息并 调用进 栈空间执行
本文详细阐述了Java的编译期和运行期过程。在编译阶段,Java源文件被转化为.class文件,而类加载器在运行期负责加载指定路径的class文件到方法区。启动类加载器加载JDK库中的类,扩展类加载器加载lib.ext目录的类,应用程序加载器则加载用户类路径上的类。执行阶段,JVM找到主入口并执行。
579

被折叠的 条评论
为什么被折叠?



