一、JVM划分内存结构
1.程序计数器:记录方法程序执行卡片。
2.本地栈:自带的。(不同的os会有不同的本地方法栈)
3.方法区:我们在类中定义的方法全部存在方法区中,分为静态方法区,非静态方法区。
4.栈内存:在方法中存储的是局部变量,局部变量随着作用域的消失而消失。
5.堆内存:存储数组和对象(放new出来的东西)。
注意:
栈:里面的变量没有默认初始化,如果想应用栈里面的变量,必须手动初始化。
堆:空间里面就会有默认的初始化。
二、内存分为三代
1.年轻代 (eden区、survice区)
2.年老区
3.终老区