<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    深入java虛擬機筆記

    Posted on 2011-01-29 21:36 leekiang 閱讀(582) 評論(0)  編輯  收藏 所屬分類: java
    1,java體系結構包括四個獨立但相關的技術:java語言、class文件格式、java的api、java虛擬機
    2,java虛擬機是一臺抽象的計算機,主要任務是裝載class文件并且執行其中的字節碼。不同的java虛擬機,其執行引擎的實現可能不一樣。分為軟件實現和硬件實現(內嵌在芯片),軟件實現有以下幾種:(1)每次都會解釋字節碼(2)即時編譯,即編譯成本低機器代碼,緩存起來可以重用(3)自適應優化器
    3,每一個類被裝載的時候,java虛擬機都監視這個類,看它到底是被啟動(bootstrap)類裝載器還是被用戶定義類裝載器裝載。當被裝載的類引用了另外一個類時,虛擬機就會使用裝載第一個類的類裝載器裝載被引用的類。由于java虛擬機采用這種方式進行類的加載,所以被裝載的類默認情況下只能看到被同一個類裝載器裝載的類。通過這種方法,java的體系結構允許在一個java應用程序中建立多個命名空間。運行時的java程序中的每一個類裝載器都有它自己的命名空間。
    例子:瀏覽器上的java虛擬機為不同的網絡地址創建不同的用戶定義類裝載器,用來裝載不同來源的class文件,這種不同網址的applet就不會相互影響。
    問題:1)自己寫的類如果調用了java的api,那么類裝載器是一個什么樣的情況。同一個類可能被不同的類裝載器裝載?
    ????? 2)看一下tomcat的類裝載器的實現
    ?? ?? 3)java的虛擬機與ruby和python的有何區別?
    ?? ?? 4)有沒有一種打包工具,把java代碼打包成不需要java虛擬機的本地可執行代碼
    ?? ?? 5)java的動態連接和動態擴展指的是什么?
    4,java語言的特殊之處是程序既被編譯又被解釋。首先,編譯器將程序編譯為一種稱之為java字節碼(bytecode)的與平臺無關的中間語言。解釋器分析并運行每條java字節碼指令。編譯只發生一次;而解釋在每次執行程序時都會執行(通常是如此,具體實現可能不一樣)。



    12,聲明一個對象時不會運行類的靜態區塊,在以下情況下會運行靜態區塊:
    ??? 1)new一個對象時;
    ??? 2)調用靜態方法時;
    ??? 3)Class.forName("類名")


    參考
    1,http://xyiyy.javaeye.com/blog/362092
    2,http://xyiyy.javaeye.com/blog/362107
    主站蜘蛛池模板: 成年美女黄网站18禁免费| 中文字幕av免费专区| 国产精品色拉拉免费看| 亚洲AV乱码一区二区三区林ゆな| www.av在线免费观看| 亚洲不卡无码av中文字幕| WWW国产亚洲精品久久麻豆| 日韩免费观看一级毛片看看| 亚洲人成电影网站免费| 日韩免费高清视频| 黄色网址在线免费观看| 亚洲 无码 在线 专区| 色噜噜狠狠色综合免费视频| 亚洲欧洲日产国码高潮αv| 国产美女视频免费观看的网站| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲乱码一区av春药高潮| 成人免费的性色视频| 中文字幕乱码亚洲精品一区| 国产高清免费在线| 免费一级做a爰片久久毛片潮| 亚洲精品国产V片在线观看| 成人妇女免费播放久久久| 久久亚洲精品成人av无码网站 | 好吊妞在线新免费视频| 黄色一级毛片免费看| 亚洲香蕉网久久综合影视| 亚洲免费视频在线观看| 亚洲欧美国产精品专区久久| 免费又黄又爽的视频| 免费无码H肉动漫在线观看麻豆 | 亚洲国产精品成人精品无码区 | 亚洲免费在线观看| 亚洲国产精品lv| 成人毛片免费视频| 国产大片免费天天看| 亚洲精品成人久久| 免费一区二区视频| 91香蕉国产线观看免费全集| 亚洲精品无码久久久久牙蜜区| 国产亚洲精品拍拍拍拍拍|