前置知识 JDK JRE JVM
jvm:Java虚拟机,用来执行class文件
jre: 运行时环境,Java想在虚拟机上运行,除了jvm,还必须得有java 的一些核心类库例如:String.class,Object.class;
JDK: 除了jre外,一些开发的jar包
堆内存、栈内存
堆内存(heap):当new一个对象或者创建一个数组时,就会在堆内存中开辟一段空间给它,用于存放对象/数组,堆中的对象呗所有线程共享。堆中如何分配有java虚拟机的自动垃圾回收机管理
栈内存(stack):栈中分配的是基本类型和自定义对象的引用,主要用来执行程序,Java方法有两种返回方式:一种是方法运行完成后,以return方式返回;一种是在方法运行过程中,发生错误抛出异常,非正常返回。不管以哪种方式返回,虚拟机都会将当前栈帧弹出并释放掉。
类加载-初始化
1、loading:将clas