Java169面試題----1:Java跨平臺原理
計算機到底能夠執行什麼東西?
- 我們平時使用的語言例如c/c++/java都是高階語言,計算機並不能夠直接執行他們,換句話說計算機不能理解這些高階語言的意思,就比如一個只會中文的中國人聽不懂英語一樣。
- 為什麼能夠讓計算機能夠執行這些高階語言編寫而成的程式,那麼就需要把它翻譯成計算機能夠理解的機器碼。計算機能夠執行機器碼。
- 問題是不同計算機的機器碼不同這就給跨平臺的執行帶來很大的困難,再以前要在不同的計算機上執行就要每次都編譯成為不同的機器碼。這也是c/C++所使用的方法:C/C++語言都直接編譯成針對特定平臺機器碼。如果要跨平臺,需要使用相應的編譯器重新編譯。
Java
- Java再發布的時候就有一個很響亮的口號:一次編譯,到處執行
- Java源程式(.java)要先編譯成與平臺無關的位元組碼檔案(.class),然後位元組碼檔案再解釋成機器碼執行。解釋是通過Java虛擬機器來執行的。Java語言的執行要經過編譯和解釋兩個階段。
- 位元組碼檔案不面向任何具體平臺,只面向虛擬機器。
- Java虛擬機器是可執行Java位元組碼檔案的虛擬計算機。不同平臺的虛擬機器是不同的,但它們都提供了相同的介面。
- Java語言具有一次編譯,到處執行的特點。就是說編譯後的.class可以跨平臺執行,前提是該平臺具有相應的Java虛
擬機。但是效能比C/C++要低。 - 但是Java的跨平臺原理決定了其效能沒有C/C++高
- 總的來說,一個Java源程式只需要一次編譯成位元組碼檔案即可,只要是安裝了java虛擬機器的計算機就可以執行這個位元組碼並把位元組碼解釋成其對於計算機的機器碼。
相關文章
- Java跨平臺原理Java
- JAVA的跨平臺原理Java
- JVM跨平臺原理JVM
- java 面試題1Java面試題
- Java跨平臺原理與Java虛擬機器(JVM)Java虛擬機JVM
- [JAVA] 初識Java 和 Java的跨平臺實現原理Java
- Java如何實現跨平臺?原理是怎樣的?Java
- java面試題-HashMap的工作原理Java面試題HashMap
- Java是如何實現跨平臺的?原理是什麼?Java
- 面試題之:java基礎1面試題Java
- 面試——談談你對Java 平臺的理解面試Java
- 面試題1面試題
- 開源面試題社群平臺上線了面試題
- JVM筆記 -- Java跨平臺和JVM跨語言JVM筆記Java
- java面試題Java面試題
- 【Java面試】Java常見IO面試題!Java面試題
- 【Java面試】Java設計模式面試題!Java設計模式面試題
- 100道JAVA面試題+JAVA面試題參考答案Java面試題
- 2019年Android面試必問:Java+效能優化+APP開發+NDK+跨平臺技術Android面試Java優化APP
- Java跨平臺?慎用這些有平臺差異性的方法Java
- 【Java面試題】Java面試之多執行緒!Java面試題執行緒
- Java面試題集錦(1):volatile關鍵字Java面試題
- rust跨平臺Rust
- 【Java面試】JSP常見面試題!JavaJS面試題
- 【Java面試】Servlet常見面試題!JavaServlet面試題
- 【Java面試】 Javascript常見面試題!JavaScript面試題
- 面試題-JAVA反射面試題Java反射
- Java面試題(一)Java面試題
- JAVA面試題(8)Java面試題
- Java SSM面試題JavaSSM面試題
- 面試題--Java反射面試題Java反射
- 面試題-JAVA IO面試題Java
- Java面試題全集Java面試題
- Java面試題解析Java面試題
- 面試題1:9月25日面試題面試題
- Java面試題 從原始碼角度分析HashSet實現原理?Java面試題原始碼
- java面試準備(1)Java面試
- long資料型別跨平臺問題資料型別