面试题
1.JVM的启动过程?
1.配置JVM装载环境
JVM.dll(libjvm.dylib)文件的查找和加载
2、解析虚拟机参数
3、设置线程栈大小
4、执行Java main方法
4.1.新建JVM实例
调用JVM.dll函数JNI_CreateJavaVM,新建一个JVM实例
4.2.加载主类的class
1、调用GetMainClassName方法找到META-INF/MANIFEST.MF文件指定的Main-Class的主类名;
2、调用LoadClass方法加载主类的class文件;
4.3.查找main方法
4.4执行main方法
①JVM由随启动的:启动器
②启动器有哪些:典型的Java启动器有JRE/JDK自带的java[.exe]、javaw.exe,JDK自带的javac、javap等。 ③java.exe是windows平台上的,macos 上是java 可执行程序
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!