JVM實戰(六) - 通過案例深入學習class文件結構原理

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章