乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      深入java虛擬機第5章, jvm - 日拱一卒,不求速成 - JavaEye技術(shù)網(wǎng)站

       goldbomb 2009-01-09

      深入java虛擬機第5章, jvm

      java虛擬機實例的生命周期:

      java虛擬機的職責(zé)是負責(zé)運行一個java程序。

      當(dāng)啟動一個java虛擬機時,一個虛擬機實例便誕生了。

      當(dāng)該程序關(guān)閉退出時,這個虛擬機實例也隨之退出。

      如果一臺主機上同時運行3個java程序,就會產(chǎn)生3個java虛擬機實例。

      java虛擬機通過調(diào)用某個初始類的main方法來運行一個java程序。

      Java代碼 復(fù)制代碼
      1. public class HelloWorld {   
      2.   
      3.     public static void main(String[] args) {   
      4.         System.out.println("Hello World!");   
      5.     }   
      6. }  

       java虛擬機規(guī)范中,一個虛擬機的行為是分別按照子系統(tǒng),內(nèi)存區(qū),數(shù)據(jù)類型以及指令這幾部份組成的。

      當(dāng)java虛擬機運行一個程序時,它需要內(nèi)存來存儲許多東西,例如,字節(jié)碼,從已裝載的class文件中得到的其他信息,程序創(chuàng)建的對象,傳遞給方法的參數(shù),返回值,局部變量,以及運行的中間結(jié)果。i每個java虛擬機都有一個方法區(qū)和一個堆,它們是由所有線程共享的。

      當(dāng)每個新線程被創(chuàng)建時,它都會得到自己的pc寄存器以及一個java棧。如果線程正在執(zhí)行的是一個java方法,那么寄存器大的值總是指向下下一條將被執(zhí)行的指令,而它的java??偸谴鎯υ摼€程中的java方法調(diào)用的狀態(tài)--包括它的局部變量,被調(diào)用時傳遞過來的參數(shù),它的返回值,以及運算的中間結(jié)果。

      java棧是由許多棧幀組成,一個棧幀包括一個java調(diào)用的狀態(tài)。當(dāng)線程調(diào)用一個java方法時,虛擬機壓入一個新的棧幀到該線程的java棧中;當(dāng)該方法返回時,這個棧幀被從java棧中彈出并拋棄。

      java虛擬機沒有寄存器,其指令使用java棧來存儲中間數(shù)據(jù)。這樣設(shè)計是為了使得java虛擬機的指令集盡量緊湊。

       

      數(shù)據(jù)類型

      java虛擬機的數(shù)據(jù)類型包括

      基本類型:數(shù)值類型,boolean,returnAddress

      引用類型:類類型,接口類型,數(shù)組類型

       

      java虛擬機為每個載入的類型存儲以下信息,

      該類型的基本信息

      該類型的常量池

      字段類型

      方法信息

      除了常量之外的所有類(靜態(tài))變量

      一個到類classloader的引用

      一個到class類的引用

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多