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

439 lines
20 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="1.9531432"
inkscape:cx="431.86797"
inkscape:cy="488.95543"
inkscape:window-width="1511"
inkscape:window-height="832"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="0"
inkscape:current-layer="layer1"
inkscape:pageshadow="2">
<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-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';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="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';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.93888889px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="68.165955"
y="124.11515"
id="text844"><tspan
sodipodi:role="line"
id="tspan842"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.93888889px"
x="68.165955"
y="124.11515" /></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="111.84619"
y="96.395851"
id="text848"><tspan
sodipodi:role="line"
id="tspan846"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265"
x="111.84619"
y="96.395851">class loader</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="66"
y="124"
id="text2304"><tspan
sodipodi:role="line"
id="tspan2302"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265;font-size:4.23333333px"
x="66"
y="124">method area</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="102.36334"
y="123.94704"
id="text3034"><tspan
sodipodi:role="line"
id="tspan3032"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265;font-size:4.23333333px"
x="102.36334"
y="123.94704">heap</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="126.9079"
y="123.80221"
id="text3038"><tspan
sodipodi:role="line"
id="tspan3036"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265;font-size:4.23333333px"
x="126.9079"
y="123.80221">stack</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="152"
y="124"
id="text3768"><tspan
sodipodi:role="line"
id="tspan3766"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265;font-size:4.23333333px"
x="152"
y="124">java threads</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="122.48949"
y="133.47887"
id="text4498"><tspan
sodipodi:role="line"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="122.48949"
y="133.47887"
id="tspan4500">program counter registers</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="66"
y="134"
id="text5230"><tspan
sodipodi:role="line"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265;font-size:4.23333333px"
x="66"
y="134"
id="tspan5232">native internal threads</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="73.237595"
y="155.814"
id="text5962"><tspan
sodipodi:role="line"
id="tspan5960"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="73.237595"
y="155.814">execution engine</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="57.221085"
y="163.8349"
id="text6329"><tspan
sodipodi:role="line"
id="tspan6327"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="57.221085"
y="163.8349">JIT compiler</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1"
x="91"
y="164"
id="text7422"><tspan
sodipodi:role="line"
id="tspan7420"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';stroke-width:0.265;font-size:4.23333333px"
x="91"
y="164">garbage collector</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="141.01183"
y="157.82979"
id="text8152"><tspan
sodipodi:role="line"
id="tspan8150"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="141.01183"
y="157.82979">native method</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="141.01183"
y="164.00342"
id="tspan8154">interface</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="181.05193"
y="157.77907"
id="text8884"><tspan
sodipodi:role="line"
id="tspan8882"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="181.05193"
y="157.77907">native method</tspan><tspan
sodipodi:role="line"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="181.05193"
y="163.9527"
id="tspan8886">library</tspan></text>
<text
xml:space="preserve"
style="font-size:4.23333333px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="103.22704"
y="115.05011"
id="text10342"><tspan
sodipodi:role="line"
id="tspan10340"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.23333333px"
x="103.22704"
y="115.05011">runtime data area</tspan></text>
<text
xml:space="preserve"
style="font-size:4.93888889px;font-family:'IBM Plex Sans';-inkscape-font-specification:'IBM Plex Sans';fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264999;stroke-opacity:1;font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal"
x="134.56136"
y="87.641937"
id="text11072"><tspan
sodipodi:role="line"
id="tspan11070"
style="stroke-width:0.265;-inkscape-font-specification:'IBM Plex Sans';font-family:'IBM Plex Sans';font-weight:normal;font-style:normal;font-stretch:normal;font-variant:normal;font-size:4.93888889px"
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="32.140018"
height="10.062141"
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="123.06397"
height="30.023262"
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="82.024651"
height="19.980042"
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="34.02475"
height="20.033585"
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="34.009689"
height="20.005997"
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="28.989944"
height="5.0232158"
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="29.0224"
height="5.0232158"
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="50.938873"
height="5.0722198"
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="61.033035"
height="5.0995326"
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="31.022038"
height="5.0043945"
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="40.018761"
height="5.0244141"
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 92.026458,95.026458 16.975982,-0.03218"
id="path13506"
sodipodi:nodetypes="cc" />
<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 132.02646,155.03475 6.98359,0"
id="path13947"
sodipodi:nodetypes="cc" />
<path
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.264999;stroke-opacity:1;marker-end:url(#marker13777)"
d="m 174.02646,154.92385 h 4.96215"
id="path13991"
sodipodi:nodetypes="cc" />
<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 -6.98167,0"
id="path14079"
sodipodi:nodetypes="cc" />
<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 -5.01568,0"
id="path14123"
sodipodi:nodetypes="cc" />
</g>
</svg>