堆、栈、方法区的一点小知识

堆、栈、方法区的一点小知识

         另外,任何方法每次被线程调用时,都会在栈区开辟新的内存空间,所以多线程环境下,同一个方法在不同线程的执行下是互不干扰的,但成员变量是会干扰的,因为它存放在堆中。

         当程序调用方法时,都会为该方法建立一个方法栈,方法中声明的变量就放在这个方法栈中,当方法结束时系统会释放方法栈,在该方法中声明的变量也会随着栈的销毁而结束,这就是局部变量只能在方法中有效的原因。