• heap 和 stack

    heap 和 stack

    java的内存分为两类 :

    • 堆内存 heap
    • 栈内存 stack

    stack 是指程序进入一个方法时,
    会为这个方法单独分配一块私属存储空间,
    用于存储这个方法内部的局部变量,
    当这个方法结束时,
    分配给这个方法的栈会释放,
    这个栈中的变量也将随之释放.

    heap 一般用于存放不放在当前方法栈中的那些数据,
    例如,
    使用 new 创建的对象都放在堆里,
    所以,
    它不会随方法的结束而消失.
    方法中的局部变量使用 final 修饰后,
    放在堆中,
    而不是栈中.