1、java中的内存被分成以下四部分:
①、代码区 ②、栈区 ③、堆区 ④、静态区域
2、栈区:由编译器自动分配释放,存放函数的参数值、局部变量的值等;具体方法执行结束后,系统自动释放JVM内存资源3、堆区:一般由程序员分配释放,存放new分配的对象和数组,JVM不定时查看这个对象,如果没有引用指向这个对象就回收
4、静态区:存放全局变量、静态变量和字符串常量,不释放
5、代码区:存放程序中方法的二进制代码,而且是多个对象共享一个代码空间区域。
分配 :程序员需要通过关键字new 为每个对象申请内存空间 (基本类型除外),所有的对象都在堆 (Heap)中分配空间。