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

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

       java_se7_official_memory_structures(官方内存结构)介绍

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

       java_se7_official_memory_structures(官方内存结构)介绍

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

 

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

java_se7_official_memory_structures(官方内存结构)介绍

 

直接点就是六个区:

java_se7_official_memory_structures(官方内存结构)介绍

 

 

以数据是否共享分为:

 
 
 
根据他们之间的包含关系分为:
java_se7_official_memory_structures(官方内存结构)介绍
 
 
有了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

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-26
  • 2022-03-08
  • 2021-10-07
  • 2021-10-27
  • 2022-12-23
  • 2021-05-27
猜你喜欢
  • 2022-12-23
  • 2021-07-23
  • 2021-09-16
  • 2022-12-23
  • 2022-12-23
  • 2021-05-31
  • 2021-11-04
相关资源
相似解决方案