回覆列表
-
1 # 中外古今說說
-
2 # 小熊社長
由javac編譯器來完成java語言規範轉換成java虛擬機器語言規範。那麼肯定又有人問,java虛擬機器語言是啥編譯的?我覺得任何一門語言的第一個編譯器都是其他語言寫的,其次.一門語言要走向成功,自舉(bootstrap)是一個重要的里程碑。
所以親明白了嗎?
由javac編譯器來完成java語言規範轉換成java虛擬機器語言規範。那麼肯定又有人問,java虛擬機器語言是啥編譯的?我覺得任何一門語言的第一個編譯器都是其他語言寫的,其次.一門語言要走向成功,自舉(bootstrap)是一個重要的里程碑。
所以親明白了嗎?
第一版Javac原始碼肯定是用C語言寫的,之後就可以開始自舉了。
1 任何一門程式語言的第一個編譯器都是其他語言寫的,Javac也是如此。
2 第一個Javac是使用C語言寫的,在以後就都是java語言寫的了,編譯用的是上一版Javac。
3 javac.exe看上去是個程式,其實是個啟動虛擬機器的launcher,它啟動一個虛擬機器例項來執行javac編譯器。
4 一門語言要走向成功,自舉是一個重要的標誌,否則一身漏洞的編譯器,還不如用C呢。
5 《程式設計經》裡說過,“機器生彙編,彙編生C,C生萬物”。
6 Java最初的專案名叫Oka,目標是用在機頂盒上,後來做著做著走了樣,釋出後改叫Java。
7 研究javac有助於你寫出高質量的Java程式碼,但找工作的話,還是去研究框架吧。
8 剛入門的Java程式設計師,趕緊去貼一張高司令的照片到牆上拜拜。
9 真對java編譯感興趣的,可以去看一本書《編譯原理Java版》。
10 第5是我瞎編的。