(原發(fā)于知乎, 定期同步至簡(jiǎn)書, 原文地址:知乎-JVM入門系列)
這是在知乎的第一篇文章辜羊,之前的文章很分散踏兜,早先在CSDN词顾,后來(lái)又用了Github Pages八秃,接著又在自建的WordPress上面寫,至今幾乎全部遺失了肉盹。大體是一個(gè)很憊懶的人昔驱,也不愛(ài)折騰。現(xiàn)在算是下定決心又開始寫文章了上忍,一是為了記錄些知識(shí),而也是想分享一下自己的新的體會(huì)窍蓝。
至于JVM入門系列腋颠,大體是最粗淺的實(shí)現(xiàn),本著熟悉jvm規(guī)范的目的吓笙,用java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的jvm淑玫。好久不寫了,可能有些混亂,希望見諒絮蒿。
這個(gè)系列主要是想要完成兩個(gè)目標(biāo):
? ? 1. 了解jvm的一些基礎(chǔ)知識(shí)
? ? 2. 實(shí)現(xiàn)一個(gè)簡(jiǎn)單的bytecode interpreter
在系列文章中尊搬,主要講述如下內(nèi)容:
? ?·1. classfile文件格式
? ? 2. 指令集
? ? 3. bytecode interpreter
而以下內(nèi)容將不會(huì)在系列中出現(xiàn):
? ? GC
? ? 多線程
? ? JIT
希望通過(guò)該系列能夠讓大家對(duì)虛擬機(jī)有著基本的了解,并且完成最基本的一個(gè)字節(jié)碼解析器土涝。
該系列將會(huì)按照如下順序分成幾篇文章來(lái)講解:
? ? 1. jvm總覽
? ? 2. classfile結(jié)構(gòu)
? ? 3. 運(yùn)行時(shí)數(shù)據(jù)區(qū)
? ? 4. 指令集和解釋器
? ? 5. 類佛寿、方法的實(shí)現(xiàn)
? ? 6. 數(shù)組和字符串的實(shí)現(xiàn)
? ? 7. 本地方法和異常處理
事實(shí)上,這些文章也算是我整理自己的jvm入門分享slides
主要參考:
? ? 1.?The Java? Virtual Machine Specification
? ? 2.?自己動(dòng)手寫Java虛擬機(jī)
? ? 3.?深入理解Java虛擬機(jī)(第2版)