您的位置:首页 > 其它

学习笔记02 - JVM如何加载.Class文件

2020-07-07 00:08 260 查看
  • jvm是内存中的虚拟机,存储在内存

Java虚拟机:


Class Loader : 根据特定格式,加载Class文件到内存
Runtime Data Area:JVM内存空间结构模型
Execution Engine:对命令进行解析
Native Interface(本地接口):融合不同开发语言的原生库给Java用

步骤
首先.Class文件通过Class Loader 加载内存,在由给Execution Engine解析class文件里对字节码交给操作系统去执行。
Native Interface 举例

Class.forName 作用:返回与给定的字符串名称相关联的类或接口的Class对象

@CallerSensitive
public static Class<?> forName(String className)
throws ClassNotFoundException {
Class<?> caller = Reflection.getCallerClass();
return forName0(className, true, ClassLoader.getClassLoader(caller), caller);
}

forName0:

private static native Class<?> forName0(String name, boolean initialize,
ClassLoader loader,
Class<?> caller)
throws ClassNotFoundException;

此处native接口 为Native Interface(本地接口)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: