yang yi 3 weeks ago
commit
33946a9a7d
2 changed files with 1093 additions and 0 deletions
  1. 999 0
      JVM_memory_layout.drawio
  2. 94 0
      Readme.md

+ 999 - 0
JVM_memory_layout.drawio

@@ -0,0 +1,999 @@
+<mxfile host="Electron" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/21.6.1 Chrome/112.0.5615.204 Electron/24.6.1 Safari/537.36" modified="2026-02-23T11:23:30.237Z" version="21.6.1" etag="WgHd0T2gyFzEhWl4njMM" type="device" pages="9">
+  <diagram name="JVM内存布局宏观概念划分" id="JofLo8_aBLvOt2ewSgCY">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="pr2F3kH5S5V_bKyzhlD0-1" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="280" y="120" width="240" height="320" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-1" value="JVM内存布局" style="text;html=1;whiteSpace=wrap;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;rounded=0;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry width="240" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-2" value="方法区(Method Area)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry y="40" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-3" value="堆(Heap)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry x="120" y="40" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-4" value="虚拟机栈(Virtual Machine Stack)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry y="120" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-5" value="本地方法栈(Native Method Stack)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry x="120" y="120" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-6" value="程序计数器(Program Counter Register)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry y="200" width="240" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-7" value="线程私有数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry y="280" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="zt5shG7FNdU1FbIKS1MW-8" value="线程共享数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="pr2F3kH5S5V_bKyzhlD0-1" vertex="1">
+          <mxGeometry x="160" y="280" width="80" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="0PQqKnQiG1qyWivhCRIe" name="补充说明-JVM内存布局宏观概念划分">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-15" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="280" y="360" width="240" height="320" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-9" value="JVM内存布局" style="text;html=1;whiteSpace=wrap;strokeColor=#d79b00;fillColor=#ffe6cc;align=center;verticalAlign=middle;rounded=0;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry width="240" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-10" value="方法区(Method Area)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry y="40" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-11" value="堆(Heap)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry x="120" y="40" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-12" value="虚拟机栈(Virtual Machine Stack)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry y="120" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-13" value="本地方法栈(Native Method Stack)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry x="120" y="120" width="120" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-14" value="程序计数器(Program Counter Register)" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry y="200" width="240" height="80" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-15" value="线程私有数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry y="280" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="a8tgr0-nT0_KQAadfQR2-16" value="线程共享数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="fwPPhnZaE1DhDsGx4A61-15" vertex="1">
+          <mxGeometry x="160" y="280" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-9" value="方法区" style="swimlane;whiteSpace=wrap;html=1;startSize=20;container=0;" parent="1" vertex="1">
+          <mxGeometry x="600" y="360" width="200" height="80" as="geometry">
+            <mxRectangle x="280" width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-11" value="堆" style="swimlane;whiteSpace=wrap;html=1;startSize=20;container=0;" parent="1" vertex="1">
+          <mxGeometry x="600" y="480" width="200" height="80" as="geometry">
+            <mxRectangle x="520" y="120" width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-10" value="存储Java的类元数据和运行时常量池,包括所有的类信息、常量、类变量、动态编译缓存等" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="1" vertex="1">
+          <mxGeometry x="600" y="380" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-12" value="存储所有的类实例和数组,是JVM中占用内存最多的区域,垃圾回收主要也是在这个区域" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;container=0;" parent="1" vertex="1">
+          <mxGeometry x="600" y="500" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-1" value="G" style="swimlane;whiteSpace=wrap;html=1;startSize=20;container=0;" parent="1" vertex="1">
+          <mxGeometry y="360" width="200" height="80" as="geometry">
+            <mxRectangle x="280" width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-5" value="虚拟机栈" style="swimlane;whiteSpace=wrap;html=1;startSize=20;container=0;" parent="1" vertex="1">
+          <mxGeometry y="480" width="200" height="80" as="geometry">
+            <mxRectangle x="280" width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-7" value="本地方法栈" style="swimlane;whiteSpace=wrap;html=1;startSize=20;container=0;" parent="1" vertex="1">
+          <mxGeometry y="600" width="200" height="80" as="geometry">
+            <mxRectangle x="280" width="140" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-4" value="记录当前线程字节码指令执行的行号" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="1" vertex="1">
+          <mxGeometry y="380" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-6" value="记录Java方法调用顺序,每调用一个方法,就会向栈中压入一个栈帧,栈帧中记录着局部变量表、操作数栈、动态链接、方法出口等信息" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="1" vertex="1">
+          <mxGeometry y="500" width="200" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="fwPPhnZaE1DhDsGx4A61-8" value="记录native方法调用顺序,每调用一个Native方法,就会向栈中压入一个栈帧,栈帧中记录着局部变量表、操作数栈、动态链接、方法出口等信息" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;container=0;" parent="1" vertex="1">
+          <mxGeometry y="620" width="200" height="60" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="mFjQR_0ZKLR3sdN5ZR0Y" name="虚拟机栈">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="ttTbHSpm3xeFEGsjRmF9-1" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="200" y="160" width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-1" value="虚拟机栈" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=none;labelBorderColor=none;textShadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="ttTbHSpm3xeFEGsjRmF9-1" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-8" value="" style="group" parent="ttTbHSpm3xeFEGsjRmF9-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-2" value="栈帧2" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="IHwljP5P4cBe6nXqKh2b-8" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-3" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-8" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-4" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-8" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-5" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-8" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-6" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-8" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-7" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="IHwljP5P4cBe6nXqKh2b-8" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-9" value="" style="group" parent="ttTbHSpm3xeFEGsjRmF9-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="280" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-10" value="栈帧1" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="IHwljP5P4cBe6nXqKh2b-9" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-11" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-9" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-12" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-9" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-13" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-9" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-14" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="IHwljP5P4cBe6nXqKh2b-9" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-15" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="IHwljP5P4cBe6nXqKh2b-9" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="IHwljP5P4cBe6nXqKh2b-16" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="ttTbHSpm3xeFEGsjRmF9-1" vertex="1">
+          <mxGeometry x="20" y="520" width="120" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="-Fs7ucyEoneauZSn3GLy" name="本地方法栈">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="NCYtsboCi_AIzlQS68eh-1" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="200" y="400" width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-2" value="本地方法栈" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=none;labelBorderColor=none;textShadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="NCYtsboCi_AIzlQS68eh-1" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-3" value="" style="group" parent="NCYtsboCi_AIzlQS68eh-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-4" value="栈帧2" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="NCYtsboCi_AIzlQS68eh-3" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-5" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-3" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-6" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-3" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-7" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-3" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-8" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-3" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-9" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="NCYtsboCi_AIzlQS68eh-3" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-10" value="" style="group" parent="NCYtsboCi_AIzlQS68eh-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="280" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-11" value="栈帧1" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="NCYtsboCi_AIzlQS68eh-10" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-12" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-10" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-13" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-10" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-14" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-10" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-15" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="NCYtsboCi_AIzlQS68eh-10" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-16" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="NCYtsboCi_AIzlQS68eh-10" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="NCYtsboCi_AIzlQS68eh-17" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="NCYtsboCi_AIzlQS68eh-1" vertex="1">
+          <mxGeometry x="20" y="520" width="120" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="Gn4BerVLJRRqPcjyFvso" name="堆">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-6" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry y="480" width="800" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-7" value="堆(JDK1.8前的划分规则)" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry width="800" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-8" value="新生代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="40" y="40" width="320" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-9" value="老年代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="400" y="40" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-10" value="永久代(方法区的实现)" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="640" y="40" width="120" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-11" value="Eden" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="80" y="80" width="160" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-12" value="Survivor" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="240" y="80" width="80" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-6" value="" style="group" parent="jmsMgb09gSE-HMBwIAkM-6" connectable="0" vertex="1">
+          <mxGeometry x="440" y="80" width="120" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-1" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="T8g913gdpcaoUnvAe4j1-6" vertex="1">
+          <mxGeometry width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-2" value="类实例2" style="rounded=1;whiteSpace=wrap;html=1;" parent="T8g913gdpcaoUnvAe4j1-6" vertex="1">
+          <mxGeometry y="40" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-3" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="T8g913gdpcaoUnvAe4j1-6" vertex="1">
+          <mxGeometry y="120" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-5" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="T8g913gdpcaoUnvAe4j1-6" vertex="1">
+          <mxGeometry y="80" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-13" value="From&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="240" y="180" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-14" value="&lt;div&gt;To&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="240" y="120" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-30" value="" style="group" parent="jmsMgb09gSE-HMBwIAkM-6" connectable="0" vertex="1">
+          <mxGeometry x="120" y="120" width="80" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-26" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="T8g913gdpcaoUnvAe4j1-30" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-28" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="T8g913gdpcaoUnvAe4j1-30" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-29" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="T8g913gdpcaoUnvAe4j1-30" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="T8g913gdpcaoUnvAe4j1-31" value="类实例" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="260" y="150" width="40" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-2" value="类信息" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="660" y="85" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-3" value="运行时常量池" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-6" vertex="1">
+          <mxGeometry x="660" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-30" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="80" y="160" width="640" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-8" value="堆(JDK1.8后的划分规则)" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry width="640" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-9" value="新生代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="40" y="40" width="320" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-10" value="老年代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="400" y="40" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-12" value="Eden" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="80" y="80" width="160" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-13" value="Survivor" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="240" y="80" width="80" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-14" value="" style="group" parent="jmsMgb09gSE-HMBwIAkM-30" connectable="0" vertex="1">
+          <mxGeometry x="440" y="80" width="120" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-15" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-14" vertex="1">
+          <mxGeometry width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-16" value="类实例2" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-14" vertex="1">
+          <mxGeometry y="40" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-17" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="jmsMgb09gSE-HMBwIAkM-14" vertex="1">
+          <mxGeometry y="120" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-18" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-14" vertex="1">
+          <mxGeometry y="80" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-19" value="From&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="240" y="180" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-20" value="&lt;div&gt;To&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="240" y="120" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-21" value="" style="group" parent="jmsMgb09gSE-HMBwIAkM-30" connectable="0" vertex="1">
+          <mxGeometry x="120" y="120" width="80" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-22" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-21" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-23" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="jmsMgb09gSE-HMBwIAkM-21" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-24" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-21" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="jmsMgb09gSE-HMBwIAkM-25" value="类实例" style="rounded=1;whiteSpace=wrap;html=1;" parent="jmsMgb09gSE-HMBwIAkM-30" vertex="1">
+          <mxGeometry x="260" y="150" width="40" height="20" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="2ekqNNg3eij3O1XjyKL2" name="补充说明-堆">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-61" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="80" width="640" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-62" value="堆(JDK1.8后的划分规则)" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry width="640" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-63" value="新生代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="40" y="40" width="320" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-64" value="老年代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="400" y="40" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-65" value="Eden" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="80" y="80" width="160" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-66" value="Survivor" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="240" y="80" width="80" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-67" value="" style="group" parent="2Fu1eIdoqTHVlaibyGas-61" connectable="0" vertex="1">
+          <mxGeometry x="440" y="80" width="120" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-68" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="2Fu1eIdoqTHVlaibyGas-67" vertex="1">
+          <mxGeometry width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-69" value="类实例2" style="rounded=1;whiteSpace=wrap;html=1;" parent="2Fu1eIdoqTHVlaibyGas-67" vertex="1">
+          <mxGeometry y="40" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-70" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="2Fu1eIdoqTHVlaibyGas-67" vertex="1">
+          <mxGeometry y="120" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-71" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="2Fu1eIdoqTHVlaibyGas-67" vertex="1">
+          <mxGeometry y="80" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-72" value="From&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="240" y="180" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-73" value="&lt;div&gt;To&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="240" y="120" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-74" value="" style="group" parent="2Fu1eIdoqTHVlaibyGas-61" connectable="0" vertex="1">
+          <mxGeometry x="120" y="120" width="80" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-75" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="2Fu1eIdoqTHVlaibyGas-74" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-76" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="2Fu1eIdoqTHVlaibyGas-74" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-77" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="2Fu1eIdoqTHVlaibyGas-74" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-78" value="类实例" style="rounded=1;whiteSpace=wrap;html=1;" parent="2Fu1eIdoqTHVlaibyGas-61" vertex="1">
+          <mxGeometry x="260" y="150" width="40" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-79" value="新生代" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="80" y="320" width="360" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-80" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;新生代存放对象实例年龄小于15的对象实例;刚创建的的对象实例存放在Eden区,Eden区对象实例在GC中存活的对象实例移动到From区,每次GC结束后将年龄小于15的实例移动到To区,年龄大于等于15的实例移动到老年代;每次GC前会将To区的实例移动到From区&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="2Fu1eIdoqTHVlaibyGas-79" vertex="1">
+          <mxGeometry y="20" width="360" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-82" value="老年代" style="swimlane;whiteSpace=wrap;html=1;" parent="1" vertex="1">
+          <mxGeometry x="480" y="320" width="240" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-83" value="&lt;font style=&quot;font-size: 16px;&quot;&gt;老年代存放年龄大于等于15的实例;老年代的GC频率比较低,所以将多次GC都没能回收的实例存放在这里(长期需要使用的实例)&lt;/font&gt;" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="2Fu1eIdoqTHVlaibyGas-82" vertex="1">
+          <mxGeometry y="20" width="240" height="180" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-84" value="刚创建的对象实例年龄为0,每经过一次GC后年龄增加1" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="80" y="560" width="320" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-85" value="Eden区存放刚创建的实例" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="400" y="560" width="320" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-86" value="Sruvivor区存放在GC后存活的实例" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="80" y="600" width="320" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-87" value="To区存放年龄大于0小于15的实例" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="400" y="600" width="320" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="2Fu1eIdoqTHVlaibyGas-88" value="From区用于临时存储" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" parent="1" vertex="1">
+          <mxGeometry x="80" y="640" width="320" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="4SiLCrbZA75wwiL11_3r" name="方法区">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="makAvxN0a6i-EegIesPa-1" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="200" y="200" width="440" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-1" value="方法区" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="makAvxN0a6i-EegIesPa-1" vertex="1">
+          <mxGeometry width="440" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-24" value="" style="group" parent="makAvxN0a6i-EegIesPa-1" connectable="0" vertex="1">
+          <mxGeometry x="34" y="40" width="360" height="320" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-3" value="类信息表" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="0FzhG4t7QJQX12a5sO6e-24" vertex="1">
+          <mxGeometry width="360" height="320" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-12" value="" style="group" parent="0FzhG4t7QJQX12a5sO6e-24" connectable="0" vertex="1">
+          <mxGeometry x="40" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-4" value="Class1" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="0FzhG4t7QJQX12a5sO6e-12" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-10" value="" style="group" parent="0FzhG4t7QJQX12a5sO6e-12" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-5" value="类信息" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-10" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-6" value="类常量" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-10" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-7" value="类加载器" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-10" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-8" value="类实例引用" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-10" vertex="1">
+          <mxGeometry y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-9" value="方法表" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-10" vertex="1">
+          <mxGeometry y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-14" value="" style="group" parent="0FzhG4t7QJQX12a5sO6e-24" connectable="0" vertex="1">
+          <mxGeometry x="200" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-15" value="Class2" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="0FzhG4t7QJQX12a5sO6e-14" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-16" value="" style="group" parent="0FzhG4t7QJQX12a5sO6e-14" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-17" value="类信息" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-16" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-18" value="类常量" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-16" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-19" value="类加载器" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-16" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-20" value="类实例引用" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-16" vertex="1">
+          <mxGeometry y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-21" value="方法表" style="rounded=1;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-16" vertex="1">
+          <mxGeometry y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-32" value="" style="group" parent="makAvxN0a6i-EegIesPa-1" connectable="0" vertex="1">
+          <mxGeometry x="40" y="400" width="360" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-23" value="运行时常量池" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;container=0;" parent="0FzhG4t7QJQX12a5sO6e-32" vertex="1">
+          <mxGeometry width="360" height="120" as="geometry">
+            <mxRectangle width="110" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-26" value="常量1" style="rounded=0;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-32" vertex="1">
+          <mxGeometry x="40" y="40" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-27" value="常量2" style="rounded=0;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-32" vertex="1">
+          <mxGeometry x="280" y="40" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-28" value="字符串常量" style="rounded=0;whiteSpace=wrap;html=1;" parent="0FzhG4t7QJQX12a5sO6e-32" vertex="1">
+          <mxGeometry x="140" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="makAvxN0a6i-EegIesPa-1" source="0FzhG4t7QJQX12a5sO6e-6" target="0FzhG4t7QJQX12a5sO6e-26" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="20" y="180" />
+              <mxPoint x="20" y="460" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="0FzhG4t7QJQX12a5sO6e-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="makAvxN0a6i-EegIesPa-1" source="0FzhG4t7QJQX12a5sO6e-18" target="0FzhG4t7QJQX12a5sO6e-27" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="420" y="180" />
+              <mxPoint x="420" y="460" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="WIEvzm0NJIPL_6Pg9aMm" name="内存布局-JDK1.8前">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="PymaMMgzeUYcn9CF6Agq-1" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry width="800" height="880" as="geometry" />
+        </mxCell>
+        <mxCell id="ErpZGPYhzL6YkgV7Goa3-2" value="" style="group" parent="PymaMMgzeUYcn9CF6Agq-1" connectable="0" vertex="1">
+          <mxGeometry width="800" height="840" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-1" value="" style="group" parent="ErpZGPYhzL6YkgV7Goa3-2" connectable="0" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-2" value="虚拟机栈" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=none;labelBorderColor=none;textShadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="8jtEEBDGsTIVlHy177NM-1" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-3" value="" style="group" parent="8jtEEBDGsTIVlHy177NM-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-4" value="栈帧2" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="8jtEEBDGsTIVlHy177NM-3" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-5" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-3" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-6" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-3" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-7" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-3" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-8" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-3" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-9" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="8jtEEBDGsTIVlHy177NM-3" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-10" value="" style="group" parent="8jtEEBDGsTIVlHy177NM-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="280" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-11" value="栈帧1" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="8jtEEBDGsTIVlHy177NM-10" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-12" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-10" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-13" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-10" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-14" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-10" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-15" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="8jtEEBDGsTIVlHy177NM-10" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-16" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="8jtEEBDGsTIVlHy177NM-10" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="8jtEEBDGsTIVlHy177NM-17" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="8jtEEBDGsTIVlHy177NM-1" vertex="1">
+          <mxGeometry x="20" y="520" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-1" value="" style="group" parent="ErpZGPYhzL6YkgV7Goa3-2" connectable="0" vertex="1">
+          <mxGeometry x="160" width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-2" value="本地方法栈" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=none;labelBorderColor=none;textShadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="5i1kjxte3vE6vzkLxOQ8-1" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-3" value="" style="group" parent="5i1kjxte3vE6vzkLxOQ8-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-4" value="栈帧2" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="5i1kjxte3vE6vzkLxOQ8-3" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-5" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-3" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-6" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-3" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-7" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-3" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-8" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-3" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-9" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="5i1kjxte3vE6vzkLxOQ8-3" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-10" value="" style="group" parent="5i1kjxte3vE6vzkLxOQ8-1" connectable="0" vertex="1">
+          <mxGeometry x="20" y="280" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-11" value="栈帧1" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="5i1kjxte3vE6vzkLxOQ8-10" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-12" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-10" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-13" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-10" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-14" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-10" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-15" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="5i1kjxte3vE6vzkLxOQ8-10" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-16" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="5i1kjxte3vE6vzkLxOQ8-10" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="5i1kjxte3vE6vzkLxOQ8-17" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="5i1kjxte3vE6vzkLxOQ8-1" vertex="1">
+          <mxGeometry x="20" y="520" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-1" value="" style="group" parent="ErpZGPYhzL6YkgV7Goa3-2" connectable="0" vertex="1">
+          <mxGeometry y="560" width="800" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-2" value="堆(JDK1.8前的划分规则)" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry width="800" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-3" value="新生代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="40" y="40" width="320" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-4" value="老年代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="400" y="40" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-5" value="永久代(方法区的实现)" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="640" y="40" width="120" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-6" value="Eden" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="80" y="80" width="160" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-7" value="Survivor" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="240" y="80" width="80" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-8" value="" style="group" parent="35QjcwPML8CDs9PjG-3v-1" connectable="0" vertex="1">
+          <mxGeometry x="440" y="80" width="120" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-9" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-8" vertex="1">
+          <mxGeometry width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-10" value="类实例2" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-8" vertex="1">
+          <mxGeometry y="40" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-11" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="35QjcwPML8CDs9PjG-3v-8" vertex="1">
+          <mxGeometry y="120" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-12" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-8" vertex="1">
+          <mxGeometry y="80" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-13" value="From&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="240" y="180" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-14" value="&lt;div&gt;To&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="240" y="120" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-15" value="" style="group" parent="35QjcwPML8CDs9PjG-3v-1" connectable="0" vertex="1">
+          <mxGeometry x="120" y="120" width="80" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-16" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-15" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-17" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="35QjcwPML8CDs9PjG-3v-15" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-18" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-15" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-19" value="类实例" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="260" y="150" width="40" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-20" value="类信息" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="660" y="85" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="35QjcwPML8CDs9PjG-3v-21" value="运行时常量池" style="rounded=1;whiteSpace=wrap;html=1;" parent="35QjcwPML8CDs9PjG-3v-1" vertex="1">
+          <mxGeometry x="660" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="ErpZGPYhzL6YkgV7Goa3-1" value="程序计数器" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;verticalAlign=top;" parent="ErpZGPYhzL6YkgV7Goa3-2" vertex="1">
+          <mxGeometry x="320" width="480" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="ErpZGPYhzL6YkgV7Goa3-3" value="线程私有数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="PymaMMgzeUYcn9CF6Agq-1" vertex="1">
+          <mxGeometry y="840" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="ErpZGPYhzL6YkgV7Goa3-4" value="线程共享数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="PymaMMgzeUYcn9CF6Agq-1" vertex="1">
+          <mxGeometry x="720" y="840" width="80" height="40" as="geometry" />
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+  <diagram id="fBzrOEydk4Z-f-bWKl0Q" name="内存布局-JDK1.8开始">
+    <mxGraphModel dx="1036" dy="655" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
+      <root>
+        <mxCell id="0" />
+        <mxCell id="1" parent="0" />
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-30" value="" style="group" parent="1" connectable="0" vertex="1">
+          <mxGeometry x="40" y="40" width="760" height="880" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-59" value="线程私有数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry y="840" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-60" value="线程共享数据" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="80" y="840" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-3" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-30" connectable="0" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-4" value="虚拟机栈" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=none;labelBorderColor=none;textShadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="nDRPVVJV9QXipEF4w1IV-3" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-5" value="" style="group" parent="nDRPVVJV9QXipEF4w1IV-3" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-6" value="栈帧2" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="nDRPVVJV9QXipEF4w1IV-5" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-7" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-5" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-8" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-5" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-9" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-5" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-10" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-5" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-11" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-5" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-12" value="" style="group" parent="nDRPVVJV9QXipEF4w1IV-3" connectable="0" vertex="1">
+          <mxGeometry x="20" y="280" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-13" value="栈帧1" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="nDRPVVJV9QXipEF4w1IV-12" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-14" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-12" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-15" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-12" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-16" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-12" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-17" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-12" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-18" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-12" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-19" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-3" vertex="1">
+          <mxGeometry x="20" y="520" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-20" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-30" connectable="0" vertex="1">
+          <mxGeometry x="160" width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-21" value="本地方法栈" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=none;labelBorderColor=none;textShadow=0;fillColor=#d5e8d4;strokeColor=#82b366;" parent="nDRPVVJV9QXipEF4w1IV-20" vertex="1">
+          <mxGeometry width="160" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-22" value="" style="group" parent="nDRPVVJV9QXipEF4w1IV-20" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-23" value="栈帧2" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="nDRPVVJV9QXipEF4w1IV-22" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-24" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-22" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-25" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-22" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-26" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-22" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-27" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-22" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-28" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-22" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-29" value="" style="group" parent="nDRPVVJV9QXipEF4w1IV-20" connectable="0" vertex="1">
+          <mxGeometry x="20" y="280" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-30" value="栈帧1" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="nDRPVVJV9QXipEF4w1IV-29" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-31" value="局部变量表" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-29" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-32" value="操作数栈" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-29" vertex="1">
+          <mxGeometry x="20" y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-33" value="动态链接" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-29" vertex="1">
+          <mxGeometry x="20" y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-34" value="方法出口" style="rounded=0;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-29" vertex="1">
+          <mxGeometry x="20" y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-35" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-29" vertex="1">
+          <mxGeometry x="20" y="200" width="80" height="30" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-36" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-20" vertex="1">
+          <mxGeometry x="20" y="520" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-58" value="程序计数器" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="630" y="560" width="130" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-38" value="堆(JDK1.8后的划分规则)" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry y="560" width="630" height="280" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-39" value="新生代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="40" y="600" width="320" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-40" value="老年代" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#ffe6cc;strokeColor=#d79b00;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="400" y="600" width="200" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-42" value="Eden" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="80" y="640" width="160" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-43" value="Survivor" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="240" y="640" width="80" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-44" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-30" connectable="0" vertex="1">
+          <mxGeometry x="440" y="640" width="120" height="160" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-45" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-44" vertex="1">
+          <mxGeometry width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-46" value="类实例2" style="rounded=1;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-44" vertex="1">
+          <mxGeometry y="40" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-47" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-44" vertex="1">
+          <mxGeometry y="120" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-48" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-44" vertex="1">
+          <mxGeometry y="80" width="120" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-49" value="From&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="240" y="740" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-50" value="&lt;div&gt;To&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="240" y="680" width="80" height="60" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-51" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-30" connectable="0" vertex="1">
+          <mxGeometry x="120" y="680" width="80" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-52" value="类实例1" style="rounded=1;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-51" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-53" value="..." style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;rounded=0;" parent="nDRPVVJV9QXipEF4w1IV-51" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-54" value="数组" style="rounded=1;whiteSpace=wrap;html=1;" parent="nDRPVVJV9QXipEF4w1IV-51" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="nDRPVVJV9QXipEF4w1IV-55" value="类实例" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-30" vertex="1">
+          <mxGeometry x="260" y="710" width="40" height="20" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-1" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-30" connectable="0" vertex="1">
+          <mxGeometry x="320" width="440" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-2" value="方法区(元空间-本地直接内存,不是JVM中的内存)" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;fillColor=#f8cecc;strokeColor=#b85450;" parent="BxTmRW5xcAqwGm1VXm5W-1" vertex="1">
+          <mxGeometry width="440" height="560" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-3" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-1" connectable="0" vertex="1">
+          <mxGeometry x="34" y="40" width="360" height="320" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-4" value="类信息表" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-3" vertex="1">
+          <mxGeometry width="360" height="320" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-5" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-3" connectable="0" vertex="1">
+          <mxGeometry x="40" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-6" value="Class1" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-5" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-7" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-5" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-8" value="类信息" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-7" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-9" value="类常量" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-7" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-10" value="类加载器" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-7" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-11" value="类实例引用" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-7" vertex="1">
+          <mxGeometry y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-12" value="方法表" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-7" vertex="1">
+          <mxGeometry y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-13" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-3" connectable="0" vertex="1">
+          <mxGeometry x="200" y="40" width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-14" value="Class2" style="rounded=0;whiteSpace=wrap;html=1;verticalAlign=top;" parent="BxTmRW5xcAqwGm1VXm5W-13" vertex="1">
+          <mxGeometry width="120" height="240" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-15" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-13" connectable="0" vertex="1">
+          <mxGeometry x="20" y="40" width="80" height="200" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-16" value="类信息" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-15" vertex="1">
+          <mxGeometry width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-17" value="类常量" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-15" vertex="1">
+          <mxGeometry y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-18" value="类加载器" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-15" vertex="1">
+          <mxGeometry y="80" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-19" value="类实例引用" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-15" vertex="1">
+          <mxGeometry y="120" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-20" value="方法表" style="rounded=1;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-15" vertex="1">
+          <mxGeometry y="160" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-21" value="" style="group" parent="BxTmRW5xcAqwGm1VXm5W-1" connectable="0" vertex="1">
+          <mxGeometry x="40" y="400" width="360" height="120" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-22" value="运行时常量池" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;container=0;" parent="BxTmRW5xcAqwGm1VXm5W-21" vertex="1">
+          <mxGeometry width="360" height="120" as="geometry">
+            <mxRectangle width="110" height="30" as="alternateBounds" />
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-23" value="常量1" style="rounded=0;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-21" vertex="1">
+          <mxGeometry x="40" y="40" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-24" value="常量2" style="rounded=0;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-21" vertex="1">
+          <mxGeometry x="280" y="40" width="40" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-25" value="字符串常量" style="rounded=0;whiteSpace=wrap;html=1;" parent="BxTmRW5xcAqwGm1VXm5W-21" vertex="1">
+          <mxGeometry x="140" y="40" width="80" height="40" as="geometry" />
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="BxTmRW5xcAqwGm1VXm5W-1" source="BxTmRW5xcAqwGm1VXm5W-9" target="BxTmRW5xcAqwGm1VXm5W-23" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="20" y="180" />
+              <mxPoint x="20" y="460" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+        <mxCell id="BxTmRW5xcAqwGm1VXm5W-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="BxTmRW5xcAqwGm1VXm5W-1" source="BxTmRW5xcAqwGm1VXm5W-17" target="BxTmRW5xcAqwGm1VXm5W-24" edge="1">
+          <mxGeometry relative="1" as="geometry">
+            <Array as="points">
+              <mxPoint x="420" y="180" />
+              <mxPoint x="420" y="460" />
+            </Array>
+          </mxGeometry>
+        </mxCell>
+      </root>
+    </mxGraphModel>
+  </diagram>
+</mxfile>

+ 94 - 0
Readme.md

@@ -0,0 +1,94 @@
+# JVM内存布局
+
+## 总体内存概念布局
+
+1. 线程私有数据
+
+   - 虚拟机栈
+
+   > 记录Java方法调用顺序,每调用一个方法,就会向栈中压入一个栈帧,栈帧中记录着局部变量表、操作数栈、动态链接、方法出口等信息
+
+   - 本地方法栈
+
+   > 记录native方法调用顺序,每调用一个Native方法,就会向栈中压入一个栈帧,栈帧中记录着局部变量表、操作数栈、动态链接、方法出口等信息
+
+   - 程序计数器
+
+   > 记录当前线程字节码指令执行的行号
+
+2. 线程共享数据
+
+   - 堆
+
+   > 存储所有的类实例和数组,是JVM中占用内存最多的区域,垃圾回收主要也是在这个区域
+
+   - 方法区
+
+   > 存储Java的类元数据和运行时常量池,包括所有的类信息、常量、类变量、动态编译缓存等
+
+![总体内存布局](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-JVM%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80%E5%AE%8F%E8%A7%82%E6%A6%82%E5%BF%B5%E5%88%92%E5%88%86.png)
+
+## 虚拟机栈
+
+虚拟机栈就是一个非常关键的部分,看名字就知道它是一个栈结构,每个方法被执行的时候,Java虚拟机都会同步创建一个栈帧(其实就是栈里面的一个元素),栈帧中包括了当前方法的一些信息,比如局部变量表、操作数栈、动态链接、方法出口等。
+
+![虚拟机栈](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-%E8%99%9A%E6%8B%9F%E6%9C%BA%E6%A0%88.png)
+
+## 本地方法栈
+
+与虚拟机栈结构类似
+
+## 堆
+
+>  堆结构在JDK1.8前后有改变,JDK1.8前堆中的永久代是方法区的实现,之后方法区使用元空间实现,不在堆内存中,使用直接内存不属于JVM内存
+
+堆内存被划分三部分新生代、老年代、永久代;JDK1.8及之后为两部分,只有新生代和老年代,永久代被元空间取代
+
+> 元空间在直接内存中,不属于JVM的内存
+
+在HotSpot虚拟机中,新生代被划分为三块,一块较大的Eden空间和两块较小的Survivor空间,默认比例为8:1:1,老年代的GC评率相对较低,永久代一般存放类信息等(其实就是方法区的实现)
+
+所有新创建的对象,在一开始都会进入到新生代的Eden区(如果是大对象会被直接丢进老年代)
+
+在一次垃圾回收之后,Eden区域没有被回收的对象,会进入到Survivor区。在一开始From和To都是空的,而GC之后,所有Eden区域存活的对象都会直接被放入到From区,最后From和To会发生一次交换,也就是说目前存放我们对象的From区,变为To区,而To区变为From区
+
+在Eden区的存活对象复制到From区之后,所有To区域中的对象会进行年龄判定(每经历一轮GC年龄`+1`,如果对象的年龄大于`默认值为15`,那么会直接进入到老年代,否则移动到From区)
+
+垃圾收集分为:
+
+- Minor GC - 次要垃圾回收,主要进行新生代区域的垃圾收集。
+  - 触发条件:新生代的Eden区容量已满时。
+- Major GC - 主要垃圾回收,主要进行老年代的垃圾收集。
+- Full GC - 完全垃圾回收,对整个Java堆内存和方法区进行垃圾回收。
+  - 触发条件1:每次晋升到老年代的对象平均大小大于老年代剩余空间
+  - 触发条件2:Minor GC后存活的对象超过了老年代剩余空间
+  - 触发条件3:永久代内存不足(JDK8之前)
+  - 触发条件4:手动调用`System.gc()`方法
+
+### JDK1.8前
+
+![堆-JDK1.8前](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-%E5%A0%86-JDK1.8%E5%89%8D.png)
+
+### JDK1.8
+
+![堆-JDK1.8](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-%E5%A0%86-JDK1.8.png)
+
+## 方法区
+
+方法区也是整个Java应用程序共享的区域,它用于存储所有的类信息、常量、静态变量、动态编译缓存等数据,可以大致分为两个部分,一个是类信息表,一个是运行时常量池。
+
+![方法区](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-%E6%96%B9%E6%B3%95%E5%8C%BA.png)
+
+## 完整JVM内存布局
+
+### JDK1.8前
+
+![完整JVM内存布局-JDK1.8前](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80-JDK1.8%E5%89%8D.png)
+
+### JDK1.8
+
+![完整JVM内存布局-JDK1.8及以后](http://tuchuang.anyi.space/imgs/JVM%E5%86%85%E5%AD%98%E5%88%92%E5%88%86-%E5%86%85%E5%AD%98%E5%B8%83%E5%B1%80-JDK1.8%E5%BC%80%E5%A7%8B.png)
+
+## 参考资料
+
+[柏码知识库 | JVM 笔记(二)内存管理](https://www.itbaima.cn/zh-CN/document/ydd7n3jg8unc3clg)