久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      java代碼是如何被機(jī)器識別的

      java代碼是如何被機(jī)器識別的

      java代碼是如何被機(jī)器識別的?

      首先,Java作為一門高級程序語言,其語法非常復(fù)雜,直接將 Java 代碼丟給機(jī)器,機(jī)器是無法識別 Java 代碼的。所以,對于Java語言來說,首先是使用編譯器將我們的 Java 源碼(.java文件)編譯成字節(jié)碼文件(.class文件),之后再使用虛擬機(jī)(JVM)將字節(jié)碼翻譯成機(jī)器碼,最后機(jī)器碼才能被機(jī)器識別并執(zhí)行。

      請看下圖:

      java代碼是如何被機(jī)器識別的

      (免費學(xué)習(xí)視頻教程推薦:java視頻教程)

      解釋如下:

      其實 JVM 是無法直接運行字節(jié)碼文件的,JVM 需要將字節(jié)碼翻譯成機(jī)器碼才可以運行對應(yīng)的代碼邏輯。在 HotSpot 虛擬機(jī)中,有兩種翻譯形式:第一種是解釋執(zhí)行,即逐條將字節(jié)碼翻譯成機(jī)器碼并執(zhí)行;第二種是即時編譯(Just-In-Time compilation,JIT),即將一個方法中包含的所有字節(jié)碼編譯成機(jī)器碼后再執(zhí)行。這兩種方式各有優(yōu)劣。

      解釋執(zhí)行的優(yōu)勢是無須等待編譯,立刻可以運行。而即時編譯的優(yōu)勢在于實際運行速度更快。在 HotSpot 虛擬機(jī)中默認(rèn)采用混合模式,綜合了解釋執(zhí)行和即時編譯兩者的優(yōu)點。它會先解釋執(zhí)行字節(jié)碼,而后將其中反復(fù)執(zhí)行的熱點代碼,以方法為單位進(jìn)行即時編譯。

      Java 虛擬機(jī)執(zhí)行 Java 字節(jié)碼的時候,首先會將字節(jié)碼文件加載到內(nèi)存中,之后將加載后的 Java 類存放到方法區(qū)(Method Area)中。實際運行時,虛擬機(jī)會執(zhí)行方法區(qū)中的代碼。

      在運行過程中,每次進(jìn)入一個 Java 方法,Java 虛擬機(jī)會在當(dāng)前線程的 Java 方法棧中生成一個棧幀,用以存放局部變量以及字節(jié)碼操作數(shù)。當(dāng)退出當(dāng)前執(zhí)行方法時,無論正常返回還是異常返回,Java 虛擬機(jī)都會彈出當(dāng)前線程的當(dāng)前棧幀,將其丟棄。

      相關(guān)文章教程推薦:java入門教程

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號