posts - 10,comments - 4,trackbacks - 0
          java虛擬機(jī)可能是下面三個(gè)中的一個(gè)
          1:抽象規(guī)范
          2:一個(gè)具體實(shí)現(xiàn)
          3:一個(gè)虛擬機(jī)實(shí)例

          java虛擬機(jī)的生命周期
          java虛擬機(jī)的天職就是:運(yùn)行一個(gè)java程序.當(dāng)一個(gè)java程序運(yùn)行開始運(yùn)行時(shí),一個(gè)虛擬機(jī)實(shí)例就產(chǎn)生了.當(dāng)一個(gè)計(jì)算機(jī)上同時(shí)運(yùn)行三個(gè)java程序.則將產(chǎn)生三個(gè)java虛擬機(jī)實(shí)例.每個(gè)程序運(yùn)行在自己的虛擬機(jī)里面,不會干擾.當(dāng)程序運(yùn)行完畢時(shí),虛擬機(jī)將自動退出.

          java虛擬機(jī)里面有兩種線程,守護(hù)線程和非守護(hù)線程.守護(hù)線程是說java虛擬機(jī)自己的線程,如垃圾收集線程.而非守護(hù)線程則是java中運(yùn)行的程序線程.當(dāng)非守護(hù)線程都運(yùn)行完了.java虛擬機(jī)將退出.

          一個(gè)java虛擬機(jī)主要包括了:類轉(zhuǎn)載子系統(tǒng),運(yùn)行時(shí)數(shù)據(jù)區(qū),執(zhí)行引擎,內(nèi)存區(qū)等等.

          運(yùn)行時(shí)數(shù)據(jù)區(qū)------主要是:1 堆 2? 方法區(qū) 3 java棧

          堆和方法區(qū)對虛擬機(jī)實(shí)例中所有的對象都是共享的.而java棧區(qū),是對每個(gè)線程都是獨(dú)立的. 當(dāng)一個(gè)class被載入到 classloader中時(shí),會解析它的類型信息.把這些類型信息放到方法區(qū),而把程序中運(yùn)行的對象,放到堆區(qū).當(dāng)一個(gè)新線程被創(chuàng)建,就分配一個(gè)新的java棧.java棧中保存的,是方法中的一些變量,狀態(tài).java棧是由很多的java棧幀組成的.一個(gè)棧幀包含了一個(gè)方法運(yùn)行的狀態(tài).當(dāng)一個(gè)方法被執(zhí)行的時(shí)候,就壓入一個(gè)新的java棧幀到j(luò)ava棧中,方法返回的時(shí)候,就把棧幀彈出來,拋棄掉.


          方法區(qū)

          在java虛擬機(jī)中,被裝載的類的類型信息和類的靜態(tài)變量被存儲在方法區(qū)這樣的內(nèi)存里面.java程序運(yùn)行時(shí),會查找這些個(gè)信息.方法區(qū)的大小,是動態(tài)的.也可以不是連續(xù)的.可自由在堆中分配.也可以由用戶或者程序員指定.方法區(qū)可被垃圾收集.

          方法區(qū)可以保存以下信息
          這個(gè)類型的全限定名
          直接超類的全限定名
          是類類型還是接口
          類型的訪問修飾符
          任何直接超類接口的全限定名的有序列表.
          該類型的常量池
          字段信息 類中聲明的每個(gè)字段及其順序 如字段名,類型.修飾符號.
          方法信息:如方法名,返回類型.參數(shù)表列.修飾符號.字節(jié)碼.操作數(shù)棧和棧幀中局部變量區(qū)大小等等
          類靜態(tài)變量
          一個(gè)到類classloader的引用
          一個(gè)到class類的引用



          用來存儲運(yùn)行時(shí)的對象實(shí)例

          java棧
          每啟動一個(gè)新的線程.就會分配到一個(gè)java棧.java棧以幀為單位保存線程的運(yùn)行狀態(tài).它有兩種操作.入棧,出棧.
          當(dāng)一個(gè)方法被調(diào)用時(shí),入棧,當(dāng)一個(gè)方法返回時(shí),出棧,或者當(dāng)方法出現(xiàn)異常.也出棧.

          棧幀
          組成部分 局部變量區(qū),操作數(shù)棧,幀數(shù)據(jù)區(qū).
          posted @ 2006-04-05 18:25 dodoma 閱讀(381) | 評論 (1)編輯 收藏
          主站蜘蛛池模板: 定远县| 兰考县| 秭归县| 潜山县| 长垣县| 乌拉特前旗| 津市市| 兴义市| 余江县| 阳曲县| 平和县| 台东市| 上高县| 万载县| 大足县| 澄城县| 河北省| 卓资县| 繁峙县| 赤水市| 沐川县| 内黄县| 海城市| 阜宁县| 乌苏市| 寿阳县| 乃东县| 罗定市| 南昌市| 买车| 开平市| 万载县| 萨迦县| 平南县| 故城县| 高密市| 贵定县| 彰化市| 沭阳县| 霍山县| 高唐县|