java jdk源碼中有java實現的部分,所以編譯時需要依賴於jdk。那麼第一個jdk是怎麼編譯出來的?
java最早是用C寫出來的。
順便說下,最早的編程語言是怎麼來的。
一般有3個辦法,辦法1:滾雪球
先設計一種語言的最小語法子集(比如對於C語言,可以先不要函數,循環語句,只保留goto if等),然後用機器語言/匯編實現一個這個語言的編譯器。
然後用這個最小的語法子集作為下一代編譯器的開發語言,實現一個語法多一些的語言,如此這般,得到高級語言
辦法2:人肉編譯器。既然你能寫一個語言的編譯器,那麼你也可以人肉去編譯這種語言。用這種語言本身去寫編譯器,然後人肉將這種語言的代碼轉換為機器代碼。
以上兩個方法過於凶殘,現在已經沒有必要了。
辦法3:交叉編譯,比如用C寫java的編譯器,寫basic的解釋器等等,前面說的jdk的編譯就是這樣來的。