1、栈区(stacksegment)—由编译器自动分配释放,存放函数的参数值,局部变量的值等,具体方法执行结束之后,系统自动释放JVM内存资源
2、堆区(heapsegment)—一般由程序员分配释放,存放由new创建的对象和数组,jvm不定时查看这个对象,如果没有引用指向这个对象就回收 3、静态区(datasegment)—存放全局变量,静态变量和字符串常量,不释放 4、代码区(codesegment)—存放程序中方法的二进制代码,而且是多个对象共享一个代码空间区域