重点:栈管运行,堆管存储!
程序 = 算法 + 数据结构(大学里讲的方法)
程序 = 框架 + 业务逻辑(工作总结的方法)
Stack栈
栈也叫栈内存,主管Java程序的运行,实在线程创建时创建。
它的生命周期是跟随线程的生命期,线程结束栈内存也就释放。
对于栈来说不存在垃圾回收问题,只要线程一结栈就Over。
生命周期和线程一致,是线程私有的。8种基本类型的变量+对象的引用变量+实例方法都是在函数的栈内存种分配。
package com.lichi;
/**
* @author lichi
* @create 2021-07-22 10:17
*/
public class JVMNote {
public static void m1() {
m1();
}
// Exception in thread "main" java.lang.StackOverflowError 是错误,不是异常
public static void main(String[] args) {
System.out.println("11111");
m1();
System.out.println("44444");
}
}
Stack Frame2相当于Main方法