gb-java-devel/pics/jc-01-jvm-struct.svg

433 lines
16 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="210mm"
height="297mm"
viewBox="0 0 210 297"
version="1.1"
id="svg5"
inkscape:version="1.2.1 (9c6d41e4, 2022-07-14)"
sodipodi:docname="jc-01-jvm-struct.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="false"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#ffffff"
inkscape:document-units="mm"
showgrid="true"
showborder="false"
borderlayer="false"
inkscape:zoom="4.7716722"
inkscape:cx="596.5414"
inkscape:cy="592.66435"
inkscape:window-width="1534"
inkscape:window-height="922"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid12999"
units="mm"
spacingx="1"
spacingy="1"
empspacing="5"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<defs
id="defs2">
<marker
style="overflow:visible"
id="marker13777"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path13775" />
</marker>
<marker
style="overflow:visible"
id="marker13729"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path13727" />
</marker>
<marker
style="overflow:visible"
id="TriangleStart"
refX="0"
refY="0"
orient="auto-start-reverse"
inkscape:stockid="TriangleStart"
markerWidth="5.3244081"
markerHeight="6.155385"
viewBox="0 0 5.3244081 6.1553851"
inkscape:isstock="true"
inkscape:collect="always"
preserveAspectRatio="xMidYMid">
<path
transform="scale(0.5)"
style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:1pt"
d="M 5.77,0 -2.88,5 V -5 Z"
id="path135" />
</marker>
</defs>
<g
inkscape:label="Слой 1"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="60.956562"
y="96.191261"
id="text790"><tspan
sodipodi:role="line"
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.265;stroke-opacity:1"
x="60.956562"
y="96.191261"
id="tspan11908">java class file</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="68.165955"
y="124.11515"
id="text844"><tspan
sodipodi:role="line"
id="tspan842"
style="stroke-width:0.265"
x="68.165955"
y="124.11515" /></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="113.53738"
y="96.395851"
id="text848"><tspan
sodipodi:role="line"
id="tspan846"
style="stroke-width:0.265"
x="113.53738"
y="96.395851">class loader</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="65.326637"
y="124.12859"
id="text2304"><tspan
sodipodi:role="line"
id="tspan2302"
style="stroke-width:0.265"
x="65.326637"
y="124.12859">method area</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="103.25052"
y="123.72525"
id="text3034"><tspan
sodipodi:role="line"
id="tspan3032"
style="stroke-width:0.265"
x="103.25052"
y="123.72525">heap</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="127.35149"
y="123.96855"
id="text3038"><tspan
sodipodi:role="line"
id="tspan3036"
style="stroke-width:0.265"
x="127.35149"
y="123.96855">stack</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="150.76968"
y="123.73399"
id="text3768"><tspan
sodipodi:role="line"
id="tspan3766"
style="stroke-width:0.265"
x="150.76968"
y="123.73399">java threads</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="122.48949"
y="133.47887"
id="text4498"><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="122.48949"
y="133.47887"
id="tspan4500">program counter registers</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="68.141708"
y="133.9402"
id="text5230"><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="68.141708"
y="133.9402"
id="tspan5232">native internal threads</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="73.237595"
y="155.814"
id="text5962"><tspan
sodipodi:role="line"
id="tspan5960"
style="stroke-width:0.265"
x="73.237595"
y="155.814">execution engine</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="57.221085"
y="163.8349"
id="text6329"><tspan
sodipodi:role="line"
id="tspan6327"
style="stroke-width:0.265"
x="57.221085"
y="163.8349">JIT compiler</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="90.339279"
y="163.70062"
id="text7422"><tspan
sodipodi:role="line"
id="tspan7420"
style="stroke-width:0.265"
x="90.339279"
y="163.70062">garbage collector</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="141.01183"
y="157.82979"
id="text8152"><tspan
sodipodi:role="line"
id="tspan8150"
style="stroke-width:0.265"
x="141.01183"
y="157.82979">native method</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="141.01183"
y="164.00342"
id="tspan8154">interface</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="181.05193"
y="157.77907"
id="text8884"><tspan
sodipodi:role="line"
id="tspan8882"
style="stroke-width:0.265"
x="181.05193"
y="157.77907">native method</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265"
x="181.05193"
y="163.9527"
id="tspan8886">library</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="103.22704"
y="115.05011"
id="text10342"><tspan
sodipodi:role="line"
id="tspan10340"
style="stroke-width:0.265"
x="103.22704"
y="115.05011">runtime data area</tspan></text>
<text
xml:space="preserve"
style="font-size:4.9389px;font-family:'PT Astra Serif';-inkscape-font-specification:'PT Astra Serif';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="134.56136"
y="87.641937"
id="text11072"><tspan
sodipodi:role="line"
id="tspan11070"
style="stroke-width:0.265"
x="134.56136"
y="87.641937" /></text>
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13424"
width="30.259069"
height="10.161842"
x="59.88644"
y="89.964317" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13426"
width="30.006399"
height="9.965271"
x="109.91815"
y="89.971802" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13428"
width="120.1084"
height="29.916206"
x="59.962482"
y="110.0032" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13430"
width="79.995499"
height="19.930855"
x="50.001808"
y="150.04642" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13432"
width="30.025837"
height="20.014544"
x="140.00171"
y="149.99287" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13434"
width="30.017694"
height="19.955856"
x="180.01677"
y="150.02046" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13436"
width="25.055296"
height="5.0051007"
x="65.036514"
y="120.00324" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13438"
width="15.015302"
height="5.0051007"
x="99.982841"
y="120.00324" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13440"
width="15.104679"
height="5.0348926"
x="125.00835"
y="120.00324" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13442"
width="25.055296"
height="4.9455161"
x="150.00406"
y="120.00324" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13444"
width="49.896049"
height="4.9799647"
x="65.061127"
y="129.92778" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13446"
width="54.986908"
height="5.0085402"
x="119.99342"
y="129.92693" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13448"
width="29.990734"
height="5.0044012"
x="55.004421"
y="160.01282" />
<rect
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1"
id="rect13450"
width="34.983311"
height="5.0244079"
x="90.007698"
y="159.99748" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#TriangleStart)"
d="m 90.236383,94.973843 18.766057,0.02043"
id="path13506" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13729)"
d="m 120.03034,100.05297 v 8.94114"
id="path13725" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 130.04023,109.96911 v -9.00387"
id="path13773" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 85.03477,139.96281 v 9.03202"
id="path13859" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 95.003439,149.99839 v -9.03202"
id="path13903" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 130.02736,155.03475 h 8.98269"
id="path13947" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 170.00592,154.92385 h 8.98269"
id="path13991" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 140.00813,164.96008 h -8.92725"
id="path14079" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 180.04214,164.96008 h -9.03815"
id="path14123" />
</g>
</svg>