1. <form id="vgd9k"></form><nav id="vgd9k"></nav>

    <wbr id="vgd9k"></wbr>

    1. <nav id="vgd9k"></nav>

            1. Java知識分享網 - 輕松學習從此開始!????

              Java知識分享網

              Java1234官方群25:java1234官方群25
              Java1234官方群25:838462530
                   

              GIT視頻教程(結合github,碼云)免費領取

              BAT一線大廠筆試面試打包下載

              java1234.vip企業級站點全新上線(可以領取站點源碼)

              SpringBoot打造企業級進銷存

              Java1234 VIP課程

              領取微信掃碼登錄Java實現視頻教程

              Java1234至尊VIP(特價活動)

              Java虛擬機(JVM)面試寶典 PDF 下載


              分享到:
              時間:2020-06-17 15:06來源:http://www.luygg.com 作者:小鋒  侵權舉報
              Java虛擬機(JVM)面試寶典 PDF 下載
              失效鏈接處理
              Java虛擬機(JVM)面試寶典 PDF 下載

               
              本站整理下載:
              提取碼:xtht 
               
               
              相關截圖:
               
              主要內容:

              一、Java 內存區域
              1.1 說一下 JVM 的主要組成部分及其作用?
              JVM 包含兩個子系統和兩個組件,兩個子系統為 Class loader(類裝載)、Execution 
              engine(執行引擎);兩個組件為 Runtime data area(運行時數據區)、Native Interface(本
              地接口)。 ? Class loader(類裝載):根據給定的全限定名類名(如:java.lang.Object)來裝載
              class 文件到 Runtime data area 中的 method area。 ? Execution engine(執行引擎):執行 classes 中的指令。
              ? Native Interface(本地接口):與 native libraries 交互,是其它編程語言交互的接
              口。
              ? Runtime data area(運行時數據區域):這就是我們常說的 JVM 的內存。
              作用 :首先通過編譯器把 Java 代碼轉換成字節碼,類加載器(ClassLoader)再把字節碼
              加載到內存中,將其放在運行時數據區(Runtime data area)的方法區內,而字節碼文件
              Java 虛擬機(JVM)面試寶典
              第 4 頁,總共 29 頁
              只是 JVM 的一套指令集規范,并不能直接交給底層操作系統去執行,因此需要特定的命令
              解析器執行引擎(Execution Engine),將字節碼翻譯成底層系統指令,再交由 CPU 去執
              行,而這個過程中需要調用其他語言的本地庫接口(Native Interface)來實現整個程序的
              功能。
              1.2 Java 程序運行機制詳細說明
              Java 程序運行機制步驟
              ? 首先利用 IDE 集成開發工具編寫 Java 源代碼,源文件的后綴為.java; ? 再利用編譯器(javac 命令)將源代碼編譯成字節碼文件,字節碼; ? 運行字節碼的工作是由解釋器(java 命令)來完成的。
              從上圖可以看,java 文件通過編譯器變成了.class 文件,接下來類加載器又將這些.class 文
              件加載到 JVM 中。
              其實可以一句話來解釋:類的加載指的是將類的.class 文件中的二進制數據讀入到內存中,
              將其放在運行時數據區的方法區內,然后在堆區創建一個 java.lang.Class 對象,用來封裝
              Java 虛擬機(JVM)面試寶典
              第 5 頁,總共 29 頁
              類在方法區內的數據結構。
              1.3 JVM 運行時數據區
              Java 虛擬機在執行 Java 程序的過程中會把它所管理的內存區域劃分為若干個不同的數據
              區域。這些區域都有各自的用途,以及創建和銷毀的時間,有些區域隨著虛擬機進程的啟動
              而存在,有些區域則是依賴線程的啟動和結束而建立和銷毀。Java 虛擬機所管理的內存被
              劃分為如下幾個區域:
              不同虛擬機的運行時數據區可能略微有所不同,但都會遵從 Java 虛擬機規范, Java 虛擬
              機規范規定的區域分為以下 5 個部分:
              ? 程序計數器(Program Counter Register):當前線程所執行的字節碼的行號指示
              器,字節碼解析器的工作是通過改變這個計數器的值,來選取下一條需要執行的字
              節碼指令,分支、循環、跳轉、異常處理、線程恢復等基礎功能,都需要依賴這個
              Java 虛擬機(JVM)面試寶典
              第 6 頁,總共 29 頁
              計數器來完成;
              ? Java 虛擬機棧(Java Virtual Machine Stacks):用于存儲局部變量表、操作數棧、
              動態鏈接、方法出口等信息;
              ? 本地方法棧(Native Method Stack):與虛擬機棧的作用是一樣的,只不過虛擬
              機棧是服務 Java 方法的,而本地方法棧是為虛擬機調用 Native 方法服務的;
              ? Java 堆(Java Heap):Java 虛擬機中內存最大的一塊,是被所有線程共享的,幾
              乎所有的對象實例都在這里分配內存;
              ? 方法區(Methed Area):用于存儲已被虛擬機加載的類信息、常量、靜態變量、
              即時編譯后的代碼等數據。

               

              ------分隔線----------------------------
              鋒哥公眾號


              鋒哥微信號


              關注公眾號
              【Java資料站】
              回復 666
              獲取 
              66套java
              從菜雞到大神
              項目實戰課程
              日本色在线|国内偷拍在线精品|97资源站制服超碰视频|色情亚洲迅雷xiazai

              1. <form id="vgd9k"></form><nav id="vgd9k"></nav>

                <wbr id="vgd9k"></wbr>

                1. <nav id="vgd9k"></nav>