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

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

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

    隨筆 - 32, 文章 - 1, 評論 - 5, 引用 - 0
    數據加載中……

    JAVA為什么要生成Class文件

    題目是前兩天朋友突然提出的問題,一時間答不上來。

     

    后來仔細查了一下class文件的作用。我想javaer都清楚class文件是作為jvm的可執行文件,與C/C++的機器碼文件不一樣,它是字節碼文件。

     

    字節碼文件的好處:

    1、對源代碼文件進行語法檢查、語義分析,這一步驟消耗了大量的時間和資源,所以對jvm來說就要輕松多了。

    2、更加抽象,一次編譯到處執行,這是java的宣傳口號。當然字節碼文件是與平臺無關的。(這點是在別資料上看到的,感覺源代碼文件跨平臺也是沒問題的,例如python)

    3、字節碼文件可以看作是對源代碼文件的壓縮封裝,占用更少的存儲空間以及更快的傳輸速度。

     

    自己再擴展下問題:考慮大胡子James在設計java時為什么要求在執行之前,先編譯成class文件?如果是我,更傾向于將源文件直接交給jvm執行,省去javac的步驟進而由jvm自己編譯。好處是程序員不用關注編譯路徑是否配置、源代碼文件是否都編譯通過、是否有個別文件的class文件沒有生成、源代碼與class版本是否一致等問題。

     

    當然生成class文件的好處也很多:

    1、java在設計初期應是面向瀏覽器/嵌入式開發語言,字節碼文件的好處就體現出來了,由于class是在編譯過程生成的,所以jvm就不需要做的很大,同時java的運行環境也不要求很高,畢竟最耗時/耗系統資源的工作已經在前一步完成。

    2、不需要重復編譯,java是面向對象語言,涉及到大量的復用,jar/class的復用比直接復用源代碼省去了編譯時間。

     

     

    推薦看下深入java虛擬機這書

    posted on 2010-08-21 11:02 colorfire 閱讀(681) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品你懂的在线观看| 国产免费女女脚奴视频网 | 亚洲精品tv久久久久久久久久| 成人免费无码大片A毛片抽搐色欲| 皇色在线视频免费网站| 在线永久看片免费的视频| 美女视频黄是免费的网址| 思思re热免费精品视频66| 久久精品无码一区二区三区免费| 四虎永久在线精品免费网址| 成人au免费视频影院| 免费欧洲美女牲交视频| 亚洲精品综合久久| 亚洲色大成网站www永久一区| 亚洲va中文字幕无码久久| 91大神亚洲影视在线| 亚洲制服丝袜精品久久| 亚洲色偷偷偷综合网| 美女免费视频一区二区| 一级毛片免费播放男男| 国产精品偷伦视频观看免费| 免费A级毛片无码专区| 国产高清免费视频| 日韩一区二区免费视频| 亚洲中文无韩国r级电影| 亚洲AV无一区二区三区久久| 亚洲精品456在线播放| 亚洲欧美成人综合久久久| 一级毛片免费播放男男| 久久伊人免费视频| 手机在线看永久av片免费| 精品国产免费一区二区| 亚洲熟妇中文字幕五十中出| 91亚洲精品第一综合不卡播放| 亚洲综合中文字幕无线码| 鲁啊鲁在线视频免费播放| 免费国产99久久久香蕉| 在线播放免费播放av片| 在线观看国产区亚洲一区成人| 亚洲美女免费视频| 在线91精品亚洲网站精品成人|