*
一,类加载机制
运行:java HelloWorld
Bootstrap Loader(启动类加载器)--自动加载-->Extended loader(标准扩展类加载器)
--自动加载-->appclass loader(系统类加载器)
最后,appclass loader加载HelloWorld类
类加载有三种方式:
1,命令行启动时jvm初始化加载
2,Class.forName()方法动态加载
3,ClassLoader.loadClass()动态加载
只有2,会执行类的静态初始化块
只有2和3,不会执行类的静态初始化块
二,jdk和jre
jdk:包含了java开发包,开发工具,会将.java编译成.class,是针对java开发者的
jre:是java运行环境,只能运行编译成.class的文件,包含bin文件(可看做是jvm)和lib类库,是针对java程序使用者的,
jvm将.class解释给本地操作系统执行,从而实现跨平台
*
时间: 2024-10-12 11:57:17