java内存分为两种,即堆内存(heap)和栈内存(stack):
栈内存是指程序进入一个方式时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量。当这个方法执行结束时,分配给这个方法的栈会释放,这个栈中的变量也将随之释放。并且,栈内存空间有限
堆内存是与栈作用不同的内存,一般用于存放那些不放在当前方法栈中的数据,所以它不会随着方法的结束而消失,空间是一个很大的自由区。例如,使用new创建的对象会放在堆里。
注意:方法中的局部变量如果使用了final修饰,那么会放在堆中!!!