中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

2021最新版JVM虛擬機面試題有哪些

發布時間:2021-10-13 10:26:51 來源:億速云 閱讀:146 作者:iii 欄目:編程語言

本篇內容介紹了“2021最新版JVM虛擬機面試題有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

1.什么情況下會發生棧內存溢出。

2021最新版JVM虛擬機面試題有哪些

2.詳解JVM內存模型

思路: 給面試官畫一下JVM內存模型圖,并描述每個模塊的定義,作用,以及可能會存在的問題,如棧溢出等。

我的答案:

JVM內存結構

2021最新版JVM虛擬機面試題有哪些

3.JVM內存為什么要分成新生代,老年代,持久代。新生代中為什么要分為Eden和Survivor。

2021最新版JVM虛擬機面試題有哪些

4. JVM中一次完整的GC流程是怎樣的,對象如何晉升到老年代

2021最新版JVM虛擬機面試題有哪些

5.你知道哪幾種垃圾收集器,各自的優缺點,重點講下cms和G1,包括原理,流程,優缺點。

2021最新版JVM虛擬機面試題有哪些

6.JVM內存模型的相關知識了解多少,比如重排序,內存屏障,happen-before,主內存,工作內存。

思路: 先畫出Java內存模型圖,結合例子volatile ,說明什么是重排序,內存屏障,最好能給面試官寫 以下demo說明。

我的答案:

1)Java內存模型圖:

2021最新版JVM虛擬機面試題有哪些

Java內存模型規定了所有的變量都存儲在主內存中,每條線程還有自己的工作內存,線程的工作內存中 保存了該線程中是用到的變量的主內存副本拷貝,線程對變量的所有操作都必須在工作內存中進行,而不能直接讀寫主內存。不同的線程之間也無法直接訪問對方工作內存中的變量,線程間變量的傳遞均需要自己的工作內存和主存之間進行數據同步進行。

2)指令重排序。

在這里,先看一段代碼

public class PossibleReordering { static int x = 0, y = 0; static int a = 0, b = 0; public static void main(String[] args) throws InterruptedException { Thread one = new Thread(new Runnable() { public void run() { a = 1; x = b; } });Thread other = new Thread(new Runnable() { public void run() { b = 1; y = a; } }); one.start();other.start(); one.join();other.join(); System.out.println(“(” + x + “,” + y + “)”);}

運行結果可能為(1,0)、(0,1)或(1,1),也可能是(0,0)。因為,在實際運行時,代碼指令可能并不是嚴格按照代碼語句順序執行的。大多數現代微處理器都會采用將指令亂序執行(out-of-order execution,簡稱OoOE或OOE)的方法,在條件允許的情況下,直接運行當前有能力立即執行的后續指令,避開獲取下一條指令所需數據時造成的等待3。通過亂序執行的技術,處理器可以大大提高執行效率。而這就是

指令重排

2021最新版JVM虛擬機面試題有哪些

7.簡單說說你了解的類加載器,可以打破雙親委派么,怎么打破。

2021最新版JVM虛擬機面試題有哪些

雙親委派模型圖:

2021最新版JVM虛擬機面試題有哪些

8.說說你知道的幾種主要的JVM參數

2021最新版JVM虛擬機面試題有哪些

2021最新版JVM虛擬機面試題有哪些

2021最新版JVM虛擬機面試題有哪些

9.怎么打出線程棧信息。

2021最新版JVM虛擬機面試題有哪些

10.強引用、軟引用、弱引用、虛引用的區別?

2021最新版JVM虛擬機面試題有哪些

2021最新版JVM虛擬機面試題有哪些

11.內存模型以及分區,需要詳細到每個區放什么。

2021最新版JVM虛擬機面試題有哪些

12.堆里面的分區:Eden,survival (from+ to),老年代,各自的特點。

2021最新版JVM虛擬機面試題有哪些

13.簡述 java 垃圾回收機制?

2021最新版JVM虛擬機面試題有哪些

14.java 中垃圾收集的方法有哪些?

2021最新版JVM虛擬機面試題有哪些

2021最新版JVM虛擬機面試題有哪些

15.java 內存模型

2021最新版JVM虛擬機面試題有哪些

2021最新版JVM虛擬機面試題有哪些

16.java 類加載過程?

2021最新版JVM虛擬機面試題有哪些

[圖片上傳失敗...(image-1724a6-1618753895697)]

17. 簡述 java 類加載機制?

虛擬機把描述類的數據從 Class 文件加載到內存,并對數據進行校驗,解析和初始化,最終形成可以被虛擬機直接使用的 java 類型。

18. 類加載器雙親委派模型機制?

當一個類收到了類加載請求時,不會自己先去加載這個類,而是將其委派給父類,由父類去加載,如果此時父類不能加載,反饋給子類,由子類去完成類的加載。

19.什么是類加載器,類加載器有哪些?

2021最新版JVM虛擬機面試題有哪些

20.簡述 java 內存分配與回收策率以及 Minor GC 和 Major GC

  • 對象優先在堆的 Eden 區分配。

  • 大對象直接進入老年代.

  • 長期存活的對象將直接進入老年代當 Eden 區沒有足夠的空間進行分配時,虛擬機會執行一次 Minor GC.Minor Gc 通常發生在新生代的 Eden 區,在這個區的對象生存期短,往往發生 Gc 的頻率較高,回收速度比較快;Full Gc/Major GC 發生在老年代,一般情況下,觸發老年代 GC的時候不會觸發 Minor GC,但是通過配置,可以在 Full GC 之前進行一次 Minor GC 這樣可以加快老年代的回收速度。

“2021最新版JVM虛擬機面試題有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

jvm
AI

南皮县| 绥阳县| 漳浦县| 贵德县| 麻江县| 桃园市| 娱乐| 若羌县| 广西| 合川市| 江陵县| 平舆县| 庆云县| 左云县| 同心县| 恩施市| 莲花县| 德令哈市| 布尔津县| 中卫市| 商丘市| 渭南市| 太湖县| 泾阳县| 遵化市| 夏津县| 孟津县| 新宾| 社会| 积石山| 弥勒县| 张家港市| 渝北区| 柳州市| 马山县| 长宁县| 嘉善县| 正镶白旗| 深泽县| 东光县| 隆德县|