1. public void computer(){ //一个方法对应一个栈桢
    2. int i=0;
    3. }
    4. //执行Main方法的时候,main会有一个主线程,线程当中有栈
    5. //main方法会在Main线程当中开辟一块内存空间 被称之为 栈空间
    6. public static void main(String[]args){
    7. Test t=new Test();
    8. t.computer();
    9. }

    Java虚拟机调优 - 图1
    什么是栈?

    栈其实可以称之为线程栈,在线程执行的时候在虚拟机当中开辟一块内存模型,内存模型当中包含了栈。在Java执行方法的时候会在栈当中开辟一块内存区域 存放临时变量。
    FIFO的数据结构
    什么是栈桢?

    在执行不同的Java方法的时候,会再次在单独的内存区域当中开辟一块空间。这块空间称之为栈帧。
    栈和堆的联系
    堆中存放对象,栈当中存放的临时变量,临时变量可能也会有对象,临时变量存放在栈中,所以栈中的对象指向了堆。
    什么是方法区?
    存放常量+静态变量+类元信息(java字节码转换成类元信息)
    jvisualvm
    查看内存的信息