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