关于JVM

03-10-27 yang_jh
JVM是Java位元Ma定x的一N立於具w平_的衩枋觯Java平_立性的基A

一 .JVM衩枋

JVM的O目耸翘峁┮基於抽象衩枋龅碾X模型, 同r也_保Java代a可在符合的任何系y上\行.

JVM定x了控制Java代a(Byte Code)解绦泻途唧wF的五N(要t解指令系y,寄存器,堆=Y,存^更的Y料,翻”微C原理”)

1. JVM 指令系y,@c其他算C指令系y相似

2. JVM寄存器,JVM共有四寄存器,分e是:

 pc程式灯

 optop\算元m指

 frame前绦协h境指

 vars指向前绦协h境中第一局部档闹 .

pc用於程式的绦小optop,frame和vars用於指向Java^的指

3. JVM堆(Stack)Y,JVM是基於=Y的,是JVM存Y的主要方式.JVM得到一JAVA贸淌降淖止a後,便樵代a中每一的每一方法建一?蚣.每?蚣馨ㄒ韵沦Y:

局部(不是全局量), vars寄存器指向当碇械牡谝局部怠

绦协h境 ,用於保存解器Java字aM行解^程中所需的Y,包括上次{用的方法、局部抵撕瓦\算元5m和5字羔. 绦协h境是一绦幸方法的控制中心

\算元,用於存\算所需\算元及\算的Y果

4. JVMM物回收,是Java程式绦新闹饕,”P於GC”

5. JVM存^. JVM有煞N存^:

 常量n池:用於存名Q、方法和谖幻Q以及串常量.

 方法^:用於存Java方法的位元Ma.

二 .JVM中Java原始n案的g、下d、解和绦

6. Java程式首先被g成字a(Byte Code)

7. 加d到JVM上.JVM呢就是可\行@些字a的假想算C

8. 解器磉\行被加d到JVM上的字a. 解绦羞^程分三部M行:

字a的b入,此工作由加d器完成(”P於加d”),此r,解器以可_定整可绦谐淌降却丫.

字a的校,就不用f了吧,@一步通不^,就修改代a吧.但F在我的IDEh境一般都已在前_就绦辛诉@一步

字a的绦,煞N方式: 即rg方式/解绦蟹绞.通常裼媒忉绦蟹绞(解器通^每次⒁恍《挝辉Mag成C器a硗瓿Java位元Ma程 序的所有操作)

猜你喜欢