目录
前言
结合B站狂神说视频课程及相关面试资料,对JVM相关知识进行整理。此处对JVM的概念不再进行赘述。
一、JVM的位置
JVM处于操作系统之上,为Java程序在不同的系统平台上的运行提供便利,与硬件没有直接的交互。
JVM位置:
二、JVM的体系结构及作用
JVM包含两个子系统和两个组件:两个子系统为类加载,执行引擎;而两个组件为运行时数据区、Java本地接口。
JVM的体系结构如下:
1.类加载
类加载器(ClassLoader)的作用是加载类文件到内存,比如编写一个.java程序,通过javac编译生成.class文件。由类加载器将满足格式要求的.class文件加载到内存中。
.class文件经过加载、初始化等操作后,生成类文件,接着该类通过实例化,产生多个类的实例。以Animal.class为例,经过Class Loader的加载、初始化生成Animal类,而Animal类通过new方法生成对象实例,Dog、Cat等具体对象。得到具体对象后,也可通过getClass方法得到类信息,还可通过getClassLoader方法进步一获取到类加载器的信息。
代码实现如下:
//生成实例
Animal dog = new Animal();
Animal cat = new Animal();