JVM 面试题汇总
1.什么是 JVM?它有什么作用?
答:JVM 是 Java Virtual Machine(Java 虛擬機(jī))的縮寫,顧名思義它是一個虛擬計算機(jī),也是 Java 程序能夠?qū)崿F(xiàn)跨平臺的基礎(chǔ)。它的作用是加載 Java 程序,把字節(jié)碼翻譯成機(jī)器碼再交由 CPU 執(zhí)行的一個虛擬計算器。
2.JVM 主要組成部分有哪些?
答:JVM 主要組成部分如下:
- 類加載器(ClassLoader)
- 運行時數(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)來完成整個程序的運行。
4.JVM 內(nèi)存布局是怎樣的?
答:不同虛擬機(jī)實現(xiàn)可能略微有所不同,但都會遵從 Java 虛擬機(jī)規(guī)范,Java 8 虛擬機(jī)規(guī)范規(guī)定,Java 虛擬機(jī)所管理的內(nèi)存將會包括以下幾個區(qū)域&#x
總結(jié)
- 上一篇: MySQL 基础模块的面试题总结
- 下一篇: Oracle官方推荐的性能测试工具!简单