面試的時候一直被問到對JVM有沒有自己的理解。
我的理解還是太淺,我覺的就是class檔案通過類加載器保存到運行時資料區,然后里面有堆,堆疊,方法堆疊.........分別存放了..........,在JVM啟動的時候,對其進行解釋。
我知道我了解的還是太淺,我也在努力補相關知識,但是最近需要面試,
所以前來請教各位大佬在面試的時候會怎么表達自己對JVM的見解
手動抱拳,江湖救急
uj5u.com熱心網友回復:
不要沉了啊有沒有大佬路過一下
uj5u.com熱心網友回復:
頂他兩下先啊uj5u.com熱心網友回復:
首先應該是JVM的劃分(堆、堆疊、本地方法堆疊、方法區(1.8之后叫元空間)、程式計數器),然后每一塊區域再做較為詳細的介紹,比如:堆又分為青年代、老年代,青年代里面又分為Eden和Survivor,物件的存盤區域變化什么的。再說說每一塊地方有哪些GC,每種GC的收集演算法,以及特點。
你可以具體去看看JVM的書籍
uj5u.com熱心網友回復:
關于類加載器實作那塊需不需要具體的說一下運行程序,呼叫了什么,實作了什么
uj5u.com熱心網友回復:
面試忌諱 言多必失。做到點到即止就好,不要畫蛇添足。不是你熟悉的,沒必要說那么多,除非對方有意問你。
如果對方只是籠統的問,你就概述性的回答就好,對方問到細節,你再繼續展開。
往往什么都想表現,結果什么都可能沒表現好。
uj5u.com熱心網友回復:
明白了,先大概的講,有自己理解的地方就主動往自己會的地方深入,其他的等面試官問就好了
uj5u.com熱心網友回復:
1.自己先學一下用文本打開的class檔案16進制,然后根據官方jvm檔案去解讀16進制,很多人一開始直接學習class檔案編譯,或者不學,直接看jvm組成結構,這樣不容易理解2.自己會解讀class十六進制之后,再開始去看類加載,看看java怎么實作加載程序,然后和自己解讀class十六進制對比,這樣循序漸進,才會明白其中的道理,如果class十六進制解讀熟悉,還可以自己寫一個簡單的虛擬機
3.自己會寫,那面試還怕啥??
uj5u.com熱心網友回復:
以后有時間了嘗試寫一個,主要近段時間沒時間弄這個
uj5u.com熱心網友回復:
那很簡單 就是 jvm 調優經驗 ,如何控制GC策略平衡吞吐量和GC停頓時間 . 加分項,uj5u.com熱心網友回復:
感謝大佬分享總結
uj5u.com熱心網友回復:
感覺你面試的公司太牛逼了,一來就整JVM之類的。不行咱們可以換一換,如果定位只是產品類研發的話不要為難自己,研發產品基本上就是利用各種現有工具實作產品需求。如果你是技術類研發,當我沒說!個人人為如果沒有C語言基礎,說自己對jvm理解有多深,都是扯淡uj5u.com熱心網友回復:
畢竟會調優JVM在面試確實是一個加分項,確實我理解不夠深,我就是換一個GC,調一下記憶體分配,再說說作業原理這能到這里了
uj5u.com熱心網友回復:
JVM實作低延遲用CMS+PorNew行不行得通具體應該怎么設定分配記憶體進行低延遲的調優
有沒有大佬指點迷津
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/117432.html
標籤:Java SE
上一篇:如何用java跳轉頁面后獲取當前的url,跳轉后的頁面不屬于自己的
下一篇:求教各位大神,我這是咋回事
