在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    淺析 Java 程序語言的運行機制

    淺析 Java 程序語言的運行機制

    Java 程序語言的運行機制

    Java 是一門高級語言,它既包含解釋型語言的特征, 也具有編譯型語言的特征。因為 Java 應(yīng)用程序是需要先經(jīng)過編譯,再進行解釋兩個步驟。

    解釋型和編譯型

    計算機按照程序的執(zhí)行方式可以分為解釋型和編譯型。

    解釋型語言(Interpreted language)

    這種類型的編程語言,會將代碼一句一句直接運行,不需要像編譯語言(Compiled language)一樣,經(jīng)過編譯器先行編譯為機器代碼,之后再運行。這種編程語言需要利用解釋器,在運行期,動態(tài)將代碼逐句解釋(interpret)為機器代碼,或是已經(jīng)預(yù)先編譯為機器代碼的子程序,之后再運行。

    理論上,任何編程語言都可以是編譯式,或解釋型的。它們之間的區(qū)別,僅與程序的應(yīng)用有關(guān)。許多編程語言同時采用編譯器與解釋器來實現(xiàn),其中包括 Lisp,Ruby,JavaScript 與 Python。JAVA 及 C# 采用混合方式,先將代碼編譯為字節(jié)碼,在運行時再進行解釋。

    編譯型語言(Compiled language)

    這類型的編程語言,通過編譯器來實現(xiàn)。它不像解釋型語言一樣,由解釋器將代碼一句一句運行,而是以編譯器,先將代碼編譯為機器代碼,再加以運行。理論上,任何編程語言都可以是編譯式,或直譯式的。它們之間的區(qū)別,僅與程序的應(yīng)用有關(guān)。

    兩者的優(yōu)缺點

    一般而言,用編譯語言寫成的程序,在運行期的運行速度,通常比用解釋型語言寫的程序快。因為程序在編譯期,已經(jīng)被預(yù)先編譯成機器代碼,可以直接運行,不用像解釋型語言一樣,還要多一道直譯程序。

    但是要先進行編譯,之后才能運行程序,這也造成了編譯語言的缺點。一般而言,編譯語言的程序開發(fā)速度,以及調(diào)試時間,都是比較長的。因為它不像解釋型語言可以寫完一行,或一小段程序之后,馬上運行,馬上調(diào)試。解釋型語言通常讓程序開發(fā)的整體時間變少,在開發(fā)過程中,程序開發(fā)人員也可以更彈性、快速的測試自己的想法。

    為了改善編譯語言的效率而發(fā)展出的即時編譯技術(shù),已經(jīng)縮小了這兩種語言間的差距。這種技術(shù)混合了編譯語言與解釋型語言的優(yōu)點,它像編譯語言一樣,先把程序源代碼編譯成字節(jié)碼。到運行期時,再將字節(jié)碼直譯,之后運行。Java 與 LLVM 是這種技術(shù)的代表產(chǎn)物。

    Java 的運行機制和 JVM

    Java 語言相對于獨立的解釋型和編譯型, 又有一些不一樣。區(qū)別在于編程器編譯的不是最終可以運行的機器語言, 而是能夠運行在 Java 虛擬機 ( JVM: Java Virtual Machine)中的字節(jié)碼。Java 虛擬機只要是用來運行 Java字節(jié)碼文件的虛擬機。不同的平臺上編譯器提供了統(tǒng)一的編程接口,而 Java 編譯器只需要面向 Java 虛擬機, 生成虛擬機能夠運行的代碼。 然后由 Java 虛擬機解釋執(zhí)行,并且在虛擬機中把代碼轉(zhuǎn)換成平臺能夠識別的機器碼來運行程序, 從而做到了一次編譯, 多個平臺運行的跨平臺特性。

    流程大概如下:

    這里 JVM 也就是 Java 虛擬機中介的概念。 原先你要去租房, 你有一個要租房的“需求”(源代碼), 而每個房東都是你的“運行”環(huán)境。 沒看一次房子都需要單獨的找到對應(yīng)房子的房東進行 “租”(編譯) 的過程。 這個時候, 有個房屋托管(虛擬機)說, 你不要找房東了太麻煩, 我這有這個區(qū)的“房源”, 你來找我就好, 這樣你以后租房子就可以只找這個中介就可以看這個區(qū)的房子, 這樣的話, 你不用來回和不同的房東打交道, 你也不需要知道這些房東是男是女, 是好說話還是不好說話。 但是既然是中間打的交道, 就需要有一些性能的損耗(傭金)。并且你能看多少套房子,就取決于中介有多少房源。 也就是 Java 虛擬機能在那運行, 你的程序就可以在那運行。

    JVM

    JVM 是 Java Virtual Machine 的縮寫。它是一種基于計算設(shè)備的規(guī)范,是一臺虛擬機,即虛構(gòu)的計算機。

    JVM屏蔽了具體操作系統(tǒng)平臺的信息(顯然,就像是我們在電腦上開了個虛擬機一樣),當(dāng)然,JVM 執(zhí)行字節(jié)碼時實際上還是要解釋成具體操作平臺的機器指令的。

    通過 JVM,Java 實現(xiàn)了平臺無關(guān)性,Java 語言在不同平臺運行時不需要重新編譯,只需要在該平臺上部署 JVM 就可以了。因而能實現(xiàn)一次編譯多處運行。(就像是你的虛擬機也可以在任何安了 VMWare 的系統(tǒng)上運行)。

    JVM結(jié)構(gòu)

    • 程序計數(shù)器(Program Counter)
    • Java堆(Heap)
    • Java虛擬機棧(Stack)
    • 本地方法棧(Native Stack)
    • 方法區(qū)(Method Area)
    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年7月2日 23:15
    下一篇 2022年7月2日 23:15

    相關(guān)推薦

    • 京東快遞跨省幾天能到(京東一般多久到貨)

      由于覺得京東平臺的物流效勞十分的不錯,而且商品的質(zhì)量都比擬有保證。在京東平臺購物的話,普通多久時間會到貨?下面的內(nèi)容停止引見。 京東普通多久到貨? 詳細要看發(fā)貨地址和你所在的地址的…

      2022年11月26日
    • 游戲平臺有哪些(游戲平臺有哪些)

      簡要回答 游戲平臺指的是多人通過互聯(lián)網(wǎng)在線游戲的平臺,例如qq游戲,聯(lián)眾世界,浩方電競平臺,VS競技游戲平臺等,只要你下載平臺,下載相關(guān)游戲,就能實現(xiàn)對戰(zhàn),擺脫了局域網(wǎng)的限制。 詳…

      2022年11月25日
    • 淘寶直播庫存哪里拿貨(淘寶哪里看庫存)

      近年倆直播帶貨越來越火爆,抖音、淘寶、拼多多等平臺都有直播帶貨功能,其中淘寶直播時主流帶貨平臺,一些小伙伴也紛紛加入,但是作為新手不知道淘寶直播庫存哪里拿貨?下面小編為大家?guī)硖詫殹?/p>

      2022年11月25日
    • 淘寶直播沒有貨源怎么解決(淘寶直播沒有貨源怎么辦)

      淘寶是很多人喜歡的購物【平臺,里面的活躍用戶很多,流量很大,所以不少商家在上面開店,為了提高銷量也會開通直播帶貨,也有一些主播沒有貨源,那么淘寶直播沒有貨源怎么解決?下面小編為大家…

      2022年11月25日
    • 4308米!“探索二號”科考船攜深海浮游式作業(yè)平臺完成海試

      近日,我國“探索二號”科考船攜深海浮游式移動作業(yè)平臺與中繼器,赴南海開展海上試驗。該平臺完成了1500米級、2500米級、4500米級三個由淺到深級別的海試驗證,最大工作深度達到4…

      2022年11月25日
    • 手機上怎么買世界杯彩票(手機上怎么買世界杯輸贏)

      現(xiàn)在手機已經(jīng)成為大家生活中非常重要的工具之一,只要一部手機就可以解決衣食住行,最近世界杯火熱進行,一些小伙伴想要買彩票,那么,手機上可以買世界杯彩票嗎?世界杯買球軟件是真的嗎?手機…

      2022年11月25日
    • 博客營銷的3大優(yōu)勢解析(博客營銷怎么做)

      不知不覺已經(jīng)寫了24篇文章,加上這篇是第25篇了,都是自己這幾年來用過的營銷方法,如果遇到有些不懂的,我會咨詢我的朋友和同事幫忙,盡量讓每一篇有價值,哪怕是對大家有一點點幫助也行,…

      2022年11月25日
    • 閑魚上賣貨怎么快速賺錢(閑魚賣貨怎么快速賣出)

      閑魚這個平臺由于主要是做二手交易的,因此入駐門檻要比其他電商平臺低很多,而且流量也比較大。所以現(xiàn)在選擇在閑魚上賣貨的人也是比較多的,只要你選擇好賣的產(chǎn)品,一般人都是可以在閑魚這個平…

      2022年11月24日
    • 淘寶直播平臺抽成多少(淘寶直播平臺抽成比例)

      隨著時代的發(fā)展,現(xiàn)在直播帶貨已經(jīng)成為主要帶貨方式,其中淘寶是主流帶貨平臺,不少人在上面直播帶貨賺錢,一些小伙伴也想加入,那么淘寶直播平臺抽成多少?下面小編為大家?guī)硖詫氈辈テ脚_抽成…

      2022年11月24日
    • 2022世界杯免費直播平臺有哪些(2022世界杯免費直播平臺)

      世界杯近期的人氣超級火爆的,大家雖然不能去現(xiàn)場觀看卡塔爾世界杯比賽,不過國內(nèi)的球迷也都第一時間通過世界杯了解賽事情況。2022世界杯免費直播平臺有哪些?據(jù)悉本屆世界杯國內(nèi)的直播平臺…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息