栈是描述方法调用的好办法,调用一个方法就会创建一个新的栈帧,(储存局部变量,操作数,方法出口)虚拟机为每个线程创建一个栈,用于存放该线程执行方法的信息(实际参数和局部变量)栈属于线程私有,不能实现线程共享。栈的储存特性,先进后出,后进先出。栈是系统自动分配的,速度快,栈是连续储存空间。
堆储存创建好的对象数组(数组也是对象),虚拟机只有一个堆被所有被所有线程共享,堆是一个不连续的空间分配灵活速度慢
见到new关键字,就要想到在堆里面创建了一个新的对象。
方法区又叫做(静态区),虚拟机只有一个方法区,方法区实际也是堆里面的,用于储存类 常量 等
用来存放程序中不变,或唯一的内容 类信息 Class对象 静态变量字符串。