JVM内存分为:本地方法栈、Java栈、Java堆、方法区
1) 本地方法栈:存储本地方法,主要由native修饰
2) Java栈:存储变量的值或对象的引用
3) Java堆:存储对象
其中堆内存分配分为eden区、s0(from)区、s1区(to)、tenure区,而eden区、s0及s1又被称之为年轻代,tenure被称之为老年代
3.1) eden区:存储新创建的对象
3.2) s0(from)区、s1(to)区也被称之为(survivo)幸存区:存储执行GC(垃圾回收)之后没有被回收的对象,幸存区的存在就是为了防止内存碎片化
3.3) tenure区:存储多次执行GC垃圾回收之后没有被回收的对象
4) 方法区:存储由static修饰的变量、方法、代码块以及常量



