1 什麼是JVM的“無關性”?
Java具有平臺無關性,也就是任何操作系統都能運行Java代碼.之所以能實現這一點,是因爲Java運行在虛擬機之上,不同的操作系統都擁有各自的Java虛擬機,因此Java能實現"一次編寫,處處運行".
而JVM不僅具有平臺無關性,還具有語言無關性.
- 平臺無關性是指不同操作系統都有各自的JVM
- 語言無關性是指Java虛擬機能運行除Java以外的代碼!
這聽起來非常驚人,但JVM對能運行的語言是有嚴格要求的.首先來了解下Java代碼的運行過程.
Java源代碼首先需要使用Javac編譯器編譯成class文件,然後啓動JVM執行class文件,從而程序開始運行.
也就是JVM只認識class文件,它並不管何種語言生成了class文件,只要class文件符合JVM的規範就能運行.
因此目前已經有Scala、JRuby、Jy