java_se7_official_memory_structures(官方内存结构)介绍

近来因为公司系统问题,需要研究下jvm,看到网上,内存结构分布图,很多种说法

      1.有什么分为三个区的,堆区,非堆区,其他区 :http://www.yourkit.com/docs/kb/sizes.jsp

      

     2.堆、栈、数据段、代码段 : (这其实是我初学时,接收到的内存知识分布图,呵呵)

      

     3.堆、方法区域、java栈、程序计数器、本地方法栈 :http://java.chinaitlab.com/advance/833212.html

 

当然还有很多种不同说法的,所以今天花了点时间,把它整理下(根据oracle官方的文档)

 

直接点就是六个区:

 

 

以数据是否共享分为:

 
 
 
根据他们之间的包含关系分为:
 
 
有了java运行时数据区之后,才有了垃圾回收里面把堆分代的说法,上面的总结是基于java SE 7,因为可能每个jdk的说法不一样
详细介绍请看下面的链接,只看runtime data areas这个点,估计你还是有耐心的,然后加个有道啥的,应该能看懂的

The Structure of the Java Virtual Machine(java虚拟机结构):http://docs.oracle.com/javase/specs/jvms/se7/html/jvms-2.html

posted on 2013-06-15 16:38  lovebeauty  阅读(460)  评论(0编辑  收藏  举报

导航