国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

大廠面試題-什么是JVM

這篇具有很好參考價(jià)值的文章主要介紹了大廠面試題-什么是JVM。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

JVM是Java虛擬機(jī),在聊什么是JVM之前,我們不妨看?下這張圖。

大廠面試題-什么是JVM,JVM面試題,jvm

從這張圖中可以看出JVM所處的位置,同時(shí)也能看出它兩個(gè)作用:

? ? 1、運(yùn)?并管理Java源碼?件所?成的Class?件,

? ? 2、在不同的操作系統(tǒng)上安裝不同的JVM,從?實(shí)現(xiàn)了跨平臺(tái)的保證。

?般情況下,對(duì)于發(fā)者??,即使不熟悉JVM的運(yùn)?機(jī)制并不影響業(yè)務(wù)代碼的開發(fā),因?yàn)樵诎惭b完JDK或者JRE之后,其中就已經(jīng)內(nèi)置了JVM,所以只需要將Class?件給JVM運(yùn)?即可。

但當(dāng)程序運(yùn)?的過程中出現(xiàn)了問題,?這個(gè)問題發(fā)生在JVM層?的,那我們就需要熟悉JVM的運(yùn)?機(jī)制,才能迅速排查并解決JVM的性能問題。

我們先看下目前主流的JVM HotSpot的架構(gòu)圖,通過這張架構(gòu)圖,我們可以看出JVM的大致流程是把一個(gè)class文件通過類加載器加載進(jìn)系統(tǒng),然后放到不同的區(qū)域,通過編譯器編譯。

大廠面試題-什么是JVM,JVM面試題,jvm

一個(gè)部分Class?Files

Java中,Class?件是由碼?件?成的,?于源碼?件的內(nèi)容,是每個(gè)Java開發(fā)者在JavaSE階段必備知識(shí),這?就不再贅述了,我們可以關(guān)注?下Class?件的格式,?如其中的常量池、成員變量、?法等,這樣就能知道Java源碼內(nèi)容在Class?中的表示?式

二個(gè)部分Class?Loader?Subsystem即類加載機(jī)制

Class?件加載到內(nèi)存中,需要借助Java中的類加載機(jī)制。類加載機(jī)制分為裝載、鏈接和初始化,其主要就是對(duì)類進(jìn)?查找、驗(yàn)證以及分配相關(guān)的內(nèi)存空間和賦

三個(gè)部分Runtime?Data?Areas也就是通常所說的運(yùn)?時(shí)數(shù)據(jù)區(qū)

其解決的問題就是Class?件進(jìn)入內(nèi)存之后,該如何進(jìn)?存儲(chǔ)不同的數(shù)據(jù)以及數(shù)據(jù)該如何進(jìn)?扭轉(zhuǎn)。比如:Method ??Area通常會(huì)儲(chǔ)存由Class?件常量池所對(duì)應(yīng)的運(yùn)?時(shí)常量池、字段和?法的數(shù)據(jù)信息、類的模板信息等;Heap是存儲(chǔ)各種Java中的對(duì)象實(shí)例;Java?Threads通過線程以棧的?式運(yùn)?加載各個(gè)?法;Native?Internal?Thread可以理解為是加載運(yùn)?native類型的?法;PC ??Register則是保存每個(gè)線程執(zhí)??法實(shí)時(shí)地址。

這樣通過運(yùn)?時(shí)數(shù)據(jù)區(qū)的5個(gè)部分就能很好地把數(shù)據(jù)存儲(chǔ)和運(yùn)?起來了

第四個(gè)Garbage?Collector也就是通常所說的垃圾回收

就是對(duì)運(yùn)?時(shí)數(shù)據(jù)區(qū)中的數(shù)據(jù)進(jìn)?管理和回收?;厥諜C(jī)制可以基于不同的垃圾收集器,?如SerialParallel、CMS、G1、ZGC等,可以針對(duì)不同的業(yè)務(wù)場(chǎng)景選擇不同的收集器,只需要通過JVM參數(shù)設(shè)置即可。如果我們打開hotspot源碼,可以發(fā)現(xiàn)這些收集器其實(shí)就是對(duì)于不同垃圾收集算法的實(shí)現(xiàn),核?的算法有3個(gè):標(biāo)記-清除、標(biāo)記-整理、復(fù)制

五個(gè)部分是JIT?CompilerInterpreter

通俗解就是翻譯器,Class的字節(jié)碼指令通過JIT Compiler和Interpreter翻譯成對(duì)應(yīng)操作系統(tǒng)的CPU指令,只不過可以選擇解釋執(zhí)?或者編譯執(zhí)?,在HotSpot JVM默認(rèn)采用的是這兩種?式的混合。

大廠面試題-什么是JVM,JVM面試題,jvm

第六就是JNI的技術(shù)

如果我們想要找Java中的某個(gè)native?法是如何通過C或者C++實(shí)現(xiàn)的,那么可以通過Native?Method?Interface來進(jìn)?查找,也就是所謂的JNI技術(shù)。

通過官?上給出的HotSpot架構(gòu)圖,我們就能夠知道JVM到底是如何運(yùn)行的了,當(dāng)然實(shí)際操作的過程中我們可以借助?些JVM參數(shù):例如:

大廠面試題-什么是JVM,JVM面試題,jvm

?些常?的JDK常?命令

大廠面試題-什么是JVM,JVM面試題,jvm

再結(jié)JDK常??具以及第三?的?些?具

大廠面試題-什么是JVM,JVM面試題,jvm

我們就可以優(yōu)雅地分析JVM出現(xiàn)的常?問題并對(duì)其進(jìn)?調(diào)優(yōu)。文章來源地址http://www.zghlxwxcb.cn/news/detail-732518.html

到了這里,關(guān)于大廠面試題-什么是JVM的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 3.Java面試題—JVM基礎(chǔ)、內(nèi)存管理、垃圾回收、JVM 調(diào)優(yōu)

    3.Java面試題—JVM基礎(chǔ)、內(nèi)存管理、垃圾回收、JVM 調(diào)優(yōu)

    一篇文章掌握整個(gè)JVM,JVM超詳細(xì)解析!?。?JVM (Java虛擬機(jī)) 是運(yùn)行 Java 字節(jié)碼 的 虛擬機(jī) 。 JVM 針對(duì) 不同系統(tǒng) 有 特定實(shí)現(xiàn) ( Windows 、 Linux 等),目的是 同樣的代碼 在 不同平臺(tái) 能運(yùn)行出 相同的結(jié)果 。 Java 語言 要經(jīng)過 編譯 和 解釋 兩個(gè)步驟: 編譯 :通過 編譯器 將 代碼 一

    2024年02月15日
    瀏覽(22)
  • 【JAVA面試】JVM

    【JAVA面試】JVM

    提示:文章先作為初版,等后續(xù)時(shí)間充足后,補(bǔ)充更深的內(nèi)容 JVM中的垃圾回收算法可以分為兩種類型: 基于引用計(jì)數(shù) 的垃圾回收算法和 基于可達(dá)性分析 的垃圾回收算法。目前主流的JVM垃圾回收算法都是基于 可達(dá)性分析 的。 引用計(jì)數(shù)算法 引用計(jì)數(shù)算法是一種簡(jiǎn)單的垃圾回

    2024年02月03日
    瀏覽(20)
  • 面試寶典之JVM優(yōu)化

    面試寶典之JVM優(yōu)化

    加載、驗(yàn)證、準(zhǔn)備、解析、初始化。然后是使用和卸載了 新生代內(nèi)存不夠用時(shí)候發(fā)生 MGC 也叫 YGC,JVM 內(nèi)存不夠的時(shí)候發(fā)生 FGC 標(biāo)記-清除: 這是垃圾收集算法中最基礎(chǔ)的,根據(jù)名字就可以知道,它的思想就是標(biāo)記哪些要被回收的對(duì)象,然后統(tǒng)一回收。這種方法很簡(jiǎn)單,但是會(huì)有

    2024年01月20日
    瀏覽(18)
  • JVM面試突擊1

    JVM面試突擊1

    僅僅是將我們的 .java 文件轉(zhuǎn)換成了 .class 文件,實(shí)際上就是文件格式的轉(zhuǎn)換,對(duì)等信息轉(zhuǎn)換。 所謂類加載機(jī)制就是 裝載(Load) ClassFile— 字節(jié)流 ---- 類加載器 查找和導(dǎo)入class文件 (1)通過一個(gè)類的全限定名獲取定義此類的二進(jìn)制字節(jié)流 (2)將這個(gè)字節(jié)流所代表的靜態(tài)存儲(chǔ)結(jié)

    2024年02月14日
    瀏覽(16)
  • JVM(5)面試篇

    JVM(5)面試篇

    關(guān)聯(lián)課程內(nèi)容 基礎(chǔ)篇-初識(shí)JVM 基礎(chǔ)篇-Java虛擬機(jī)的組成 回答路徑 JVM的定義 作用 功能 組成 1、定義: JVM 指的是Java虛擬機(jī)( Java Virtual Machine )。JVM 本質(zhì)上是一個(gè)運(yùn)行在計(jì)算機(jī)上的程序,他的職責(zé)是運(yùn)行Java字節(jié)碼文件,Java虛擬機(jī)上可以運(yùn)行Java、Kotlin、Scala、Groovy等語言。 啟

    2024年02月21日
    瀏覽(16)
  • Jvm基礎(chǔ)面試題

    Jvm基礎(chǔ)面試題

    JVM包含兩個(gè)子系統(tǒng)和兩個(gè)組件,兩個(gè)子系統(tǒng)為Class loader(類裝載)、Execution engine(執(zhí)行引擎);兩個(gè)組件為Runtime data area(運(yùn)行時(shí)數(shù)據(jù)區(qū))、Native Interface(本地接口)。 Class loader(類裝載):根據(jù)給定的全限定名類名(如:java.lang.Object)來裝載class文件到Runtime data area中的method area。 Executio

    2024年02月09日
    瀏覽(20)
  • 面試八股——JVM★

    面試八股——JVM★

    類加載 類加載器的定義 類加載器的類別 類裝載的執(zhí)行過程 類的裝載過程: 加載: 驗(yàn)證: 準(zhǔn)備: 這里設(shè)置初始值并不是傳統(tǒng)意義的設(shè)置初始值(那個(gè)過程在初始化階段)。 解析: 初始化: 使用: 類的回收(被垃圾器回收) 回收時(shí)機(jī) 垃圾定位——可達(dá)性分析法 可作為

    2024年04月23日
    瀏覽(18)
  • JVM面試題:①

    JVM面試題:①

    類加載器:有那些類裝載器:根啟動(dòng)加載器、拓展類加載器、應(yīng)用類加載器 雙親委派機(jī)制 Java類加載的沙箱安全機(jī)制 Java8以后得JVM 1.尚硅谷Java開發(fā)常見面試題詳解https://blog.csdn.net/u011863024/article/details/114684428

    2024年01月20日
    瀏覽(15)
  • 【高頻面試題】JVM篇

    【高頻面試題】JVM篇

    JVM是什么: JVM(Java虛擬機(jī))是Java程序的 運(yùn)行環(huán)境 ,它是Java平臺(tái)的核心組成部分之一。JVM提供了一個(gè) 運(yùn)行Java字節(jié)碼的虛擬機(jī) ,負(fù)責(zé)將 Java程序解釋和執(zhí)行。 Java程序員可以在JVM上編寫和運(yùn)行Java程序,而 不用考慮底層操作系統(tǒng)的差異性 。JVM的特性使得Java具備了 跨平臺(tái)性

    2024年02月13日
    瀏覽(22)
  • 12、JVM高頻面試題

    12、JVM高頻面試題

    JVM主要分為下面幾部分 類加載器:負(fù)責(zé)將字節(jié)碼文件加載到內(nèi)存中 運(yùn)行時(shí)數(shù)據(jù)區(qū):用于保存java程序運(yùn)行過程中需要用到的數(shù)據(jù)和相關(guān)信息 執(zhí)行引擎:字節(jié)碼文件并不能直接交給底層操作系統(tǒng)去執(zhí)行,因此需要特定的命令解析器執(zhí)行引擎將字節(jié)碼翻譯成底層系統(tǒng)指令 本地庫

    2024年02月03日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包