JVM 基礎(chǔ)
JVM 概述
- JVM 是 Java Virtual Machine 的縮寫(xiě)剧防,它是一個(gè)虛構(gòu)出來(lái)的計(jì)算機(jī)植锉,它有自己的字節(jié)碼指令集(匯編語(yǔ)言)和內(nèi)存管理(棧、堆峭拘、方法區(qū)等)
- JVM 是一種規(guī)范俊庇,JVM本身與Java語(yǔ)言無(wú)關(guān),只與 .class 文件相關(guān)鸡挠,任何語(yǔ)言只要編譯成 .class文件或者在程序運(yùn)行時(shí)生成的.class二進(jìn)制流辉饱,都可以在 JVM 上運(yùn)行
- JVM 是跨語(yǔ)言的平臺(tái),目前已支持100多種語(yǔ)言拣展,如 java彭沼、scale、kotlin备埃、groovy等等
- 不同操作系統(tǒng)各自實(shí)現(xiàn) JVM姓惑,從而實(shí)現(xiàn)語(yǔ)言的跨平臺(tái)
java 是如何從編碼到執(zhí)行的
常見(jiàn)的JVM 實(shí)現(xiàn)
- Hotspot Oracle(常用)
- Jrockit BEA,已被Oracle收購(gòu)
- TaobaoVM Hotspot 深度定制
- J9 IBM
- Microsoft VM
- LiquidVM 直接對(duì)接硬件
- azul zing 垃圾回收標(biāo)桿(1ms)
- ...
JDK按脚、JRE于毙、JVM的關(guān)系
- core lib :java核心類庫(kù)
- development kit:開(kāi)發(fā)工具集
- JDK:java開(kāi)發(fā)開(kāi)發(fā)工具集
- JRE:運(yùn)行環(huán)境
- JVM:java虛擬機(jī)