JVM 面试题汇总
1.什么是 JVM?它有什么作用?
答:JVM 是 Java Virtual Machine(Java 虛擬機(jī))的縮寫,顧名思義它是一個(gè)虛擬計(jì)算機(jī),也是 Java 程序能夠?qū)崿F(xiàn)跨平臺(tái)的基礎(chǔ)。它的作用是加載 Java 程序,把字節(jié)碼翻譯成機(jī)器碼再交由 CPU 執(zhí)行的一個(gè)虛擬計(jì)算器。
2.JVM 主要組成部分有哪些?
答:JVM 主要組成部分如下:
- 類加載器(ClassLoader)
- 運(yùn)行時(shí)數(shù)據(jù)區(qū)(Runtime Data Area)
- 執(zhí)行引擎(Execution Engine)
- 本地庫接口(Native Interface)
3.JVM 是如何工作的?
答:首先程序在執(zhí)行之前先要把 Java 代碼(.java)轉(zhuǎn)換成字節(jié)碼(.class),JVM 通過類加載器(ClassLoader)把字節(jié)碼加載到內(nèi)存中,但字節(jié)碼文件是 JVM 的一套指令集規(guī)范,并不能直接交給底層操作系統(tǒng)去執(zhí)行,因此需要特定的命令解析器執(zhí)行引擎(Execution Engine) 將字節(jié)碼翻譯成底層機(jī)器碼,再交由 CPU 去執(zhí)行,CPU 執(zhí)行的過程中需要調(diào)用本地庫接口(Native Interface)來完成整個(gè)程序的運(yùn)行。
4.JVM 內(nèi)存布局是怎樣的?
答:不同虛擬機(jī)實(shí)現(xiàn)可能略微有所不同,但都會(huì)遵從 Java 虛擬機(jī)規(guī)范,Java 8 虛擬機(jī)規(guī)范規(guī)定,Java 虛擬機(jī)所管理的內(nèi)存將會(huì)包括以下幾個(gè)區(qū)域&#x
總結(jié)
- 上一篇: MySQL 基础模块的面试题总结
- 下一篇: Java核心(一)线程Thread详解