前言
本系列记录JVM的相关知识,本文介绍JVM的体系结构。
一、什么是JVM
JVM是Java得以运行的平台,也是Java程序可以跨平台的底层支撑,从整体上来看,JVM的主要功能可以分成加载和执行两个方面,加载主要负责.class文件的寻址与加载,执行负责字节码指令执行以及内存的管理等。
(堆和方法区中要处理JVM中99%的垃圾文件)
二、类加载器
- 作用:加载Class文件~。
public class Car {
public int age;
public static void main(String[] args) {
Car car1 = new Car();
Car car2 = new Car();
Car car3 = new Car();
System.out.println(car1.hashCode());
System.out.println(car2.hashCode());
System.out.println(car3.hashCode());
Class<? extends Car> aClass1 = car1.getClass();
Class<? extends Car> aClass2 = car1.getClass();
Class<? extends Car> aClass3 = car1.getClass();
System.out.println(aClass1.hashCode());
System.out.println(aClass2.hashCode());
System.out.println(aClass3.hashCode());
}
}
- 分类:
(1)虚拟机自带的加载器
(2)启动类(根)加载器
(3)扩展类加载器
(4)应用程序(系统类)加载器