<pre id="vjdl7"><progress id="vjdl7"><big id="vjdl7"></big></progress></pre><big id="vjdl7"><meter id="vjdl7"><meter id="vjdl7"></meter></meter></big>

    <video id="vjdl7"></video>
      <strike id="vjdl7"></strike>
    <dl id="vjdl7"></dl>

            <strike id="vjdl7"><listing id="vjdl7"></listing></strike>

              合肥Java培訓
              達內合肥java培訓中心

              18130056197

              使用虛擬機運行java代碼的優勢分析


              虛擬機是程序員在學習java編程開發的時候需要重點掌握的一個編程技術知識點,而今天我們就通過案例分析來了解一下,為什么要將java代碼在虛擬機中運行,下面就開始今天的主要內容吧。

              使用虛擬機運行java代碼的優勢分析

              Java為什么要在虛擬機中運行

              剛才我們談到C++是直接把代碼編譯成機器碼的,但因為各個平臺的架構不一樣,CPU能處理的指令集也不一樣,所以如果要在另一個平臺上運行C++代碼,就必須用該平臺對應的C++代碼編譯器重新編譯一遍才可以.Java一開始就意識到需要跨平臺運行,所以Java設計了虛擬機,先將Java代碼編譯成字節碼(class文件),這是虛擬機能夠識別的指令,再由虛擬機內部將字節碼翻譯成機器碼,所以我們只需要有Java字節碼,就可以在不同平臺的虛擬機中運行,這也就是我們一直說的"一次編譯,到處運行".

              Java虛擬機如何運行Java字節碼

              我們JDK所用的虛擬機名為HotSpot虛擬機,他會將所有class文件加載進來,加載后的Java類會被放置在方法區,后面運行時會執行其中的代碼.Java虛擬機會在內存中劃分出幾塊,包括程序計數器,本地方法棧,Java虛擬機棧,堆以及方法區.

              不過光是Java字節碼還是無法運行,Java虛擬機還需要將字節碼翻譯成機器碼,HotSpot有2種形式:一種是解釋執行,即將字節碼逐條翻譯成機器碼并運行;二種是即時編譯(JIT),他會將一個方法內的所有字節碼編譯成機器碼再執行.

              前者的優勢無需等待編譯,但逐條解釋的代價就是運行速度會比后者慢,HotSpot默認采用混合模式,它會先解釋執行字節碼,然后對于反復執行的熱點代碼會去進行即時編譯.

              即時編譯是監理在復合二八定律的基礎上,即百分之20的代碼占據百分之80的計算資源.對于不常用的代碼我們無需消耗時間在編譯成機器碼上,采用解釋執行就可以,而對于熱點代碼我們可以將其編譯成機器碼以提升運行速度.

              HotSpot內置了幾個即時編譯器:ClientComplier和ServerComplier,簡稱為C1、C2編譯器,以便在編譯時間和生成代碼的執行效率之間做取舍,C1編譯時間更快,C2編譯質量更高.

              【免責聲明】本文系本網編輯部分轉載,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請在30日內與管理員聯系,我們會予以更改或刪除相關文章,以保證您的權益!更多內容請在707945861群中學習了解。

              預約申請免費試聽課程

                       

              上一篇:java編程開發的循環結構類型都有哪些
              下一篇:網絡I/O模型都有哪些類型

              合肥java編程開發鎖都有哪些執行方法

              軟件測試程序員為什么要學代碼

              合肥計算機PHP與java編程之間的區別

              java編程排序算法包含哪些類型

              • 關注微信公眾號

                回復關鍵字:視頻資料

                免費領取 達內課程視頻學習資料

              • 視頻學習QQ群

                添加QQ群:1143617948

                免費領取達內課程視頻學習資料

              Copyright ? 2018 Tedu.cn All Rights Reserved 京ICP備08000853號-56 京公網安備 11010802029508號 達內時代科技集團有限公司 版權所有

              選擇城市和中心
              江西省

              貴州省

              廣西省

              海南省

              38部杂交小说,色5566最新网站,色猫咪AV在线网址,一线高清在线观看