主要是分三块:静态储存区:编译时就分配好,在程序整个运行期间都存在。它主要存放静态数据和常量。栈区:当方法执行时,会在栈区内存中创建方法体内部的局部变量,方法结束后自动释放内存。堆区:通常存放new出来的对象。由Java垃圾回收器回收。栈内存用来存放局部变量和函数参数等。它是先进后出的队列,进出一一对应,不产生碎片,运行效率稳定高。当超过变量的作用域后,该变量也就无效了,分配给它的内存空间也将被释放掉,该内存空间可以被重新使用。堆内存用于存放对象实例。在堆中分配的内存,将由Java垃圾回收器来自