導航:首頁 > 編程語言 > java可以跨平台的原因

java可以跨平台的原因

發布時間:2023-06-09 17:46:59

java跨平台原理,其他語言為什麼不可以

C/C++語言都直接編譯成針對特定平台機器碼。如果要跨平台,需要使用相應的編譯器重新編譯。

Java源程序(.java)要先編譯成與平台無關的位元組碼文件(.class),然後位元組碼文件再解釋成機器碼運行。解釋是通過Java虛擬機來執行的。

位元組碼文件不面向任何具體平台,只面向虛擬機。

Java虛擬機是可運行Java位元組碼文件的虛擬計算機。不同平台的虛擬機是不同的,但它們都提供了相同的介面。

Java語言具有一次編譯,到處運行的特點。就是說編譯後的.class可以跨平台運行,前提是該平台具有相應的Java虛擬機。但是性能比C/C++要低。

② java的跨平台的含義是什麼為什麼java可以跨平台

首先,理解平台的含義是什麼..平台的意思.個人感覺就是指操作系統,還有一層意思就是運行不同操作系統的不同的硬體設備;
也就是說,某一種代碼編譯後,既可以在a操作系統下運行,也可以在b操作系統下運行...或者是在c設備上運行.
那麼除了java以外還有什麼跨平台的語言么?當然有啊,python(但是能力有限,只能不能跨位,就是32不能跨到64,同時也不能跨版本),scala..都可以..但是相對於java,它的跨平台性能就要差一點..(其實java跨平台也不是那麼完美,很多時候還是有很多陷阱)
至於java如何實現的跨平台,那就跟java這個語言的機制有關系了.java代碼被javac編譯成java中間碼(就是.class文件)JIT編譯器再把java中間碼編譯成nativecode,最終在晶元上執行..能做到跨平台,就在編譯nativecode這步做文章...不同的jvm通過不同的技術,將java中間碼按照相同的規范編譯成高效的,對應不同平台的原生機器碼,從而實現了同一中間碼在不同設備上的同樣執行結果..以此實現的java跨平台..
2017年8月16日 12:40:34

③ java為什麼可以跨平台執行

因為java程序是用java虛擬機(JVM)執行的,不論是用什麼平台開發的java代碼,最終都會被轉換成只被JVM識別的代碼。
所以只要下載各個平台的java虛擬機就可以實現代碼的跨平台運行。

④ JAVA語言為什麼能跨平台

所謂的跨平台就是JAVA寫的一份代碼可以在任意的操作系統平台上運行。

為什麼跨平台會成為一個問題呢?因為每一個操作系統平台支持不同的指令集我們所寫的代碼經過編譯之後只能適用於一個平台,換一個平台就不支持了。而JAVA完美的解決了這個問題。

Java的一大特色就是「write once, run anywhere」即「一次編譯,到處運行」。就是說你不用專門為每個平台寫一份代碼,你寫的Java程序在任何平台都能跑起來。

它的實現原理是在系統層面上又增加了一層虛擬機(Java Virtual Machine,簡稱JVM),且為每個平台都定製了對應的虛擬機。然後Java程序是在虛擬機上跑的,因此平台無關。

Java的運行流程是:程序員寫了源代碼(Source Code,.java後綴,跨平台),然後經過編譯器編譯成位元組碼(Byte Code,.class後綴,二進制文件),位元組碼是所有虛擬機都能理解的中間文件。然後交給虛擬機(每個平台都有對應的虛擬機)去運行。

所以對「write once, run anywhere」更准確的理解是,「一次編譯,到處裝虛擬機,所以到處運行」。

整個流程如下圖所示。

希望對您有所幫助!~

閱讀全文

與java可以跨平台的原因相關的資料

熱點內容
id加密門禁卡可以復制到手機嗎 瀏覽:672
路由器如何控制某個app 瀏覽:43
C51編譯器在標准C的基礎上 瀏覽:260
銀行卡掉了可以辦車貸解壓嗎 瀏覽:317
沒解壓可以貸款嗎 瀏覽:517
最小pdf閱讀器 瀏覽:808
游戲被加密了怎樣用電腦打開 瀏覽:300
藍燈如何手動選擇伺服器 瀏覽:85
伺服器設置在中國意味什麼 瀏覽:571
單片機不能進行選擇控制 瀏覽:694
咕咚手錶如何綁定手機app 瀏覽:530
命令虛擬語氣 瀏覽:405
戴爾系統命令 瀏覽:583
怎樣壓縮視頻文件大小 瀏覽:686
51單片機信號發生器 瀏覽:56
米拍攝影哪個app好 瀏覽:88
天津致遠曙光伺服器雲伺服器 瀏覽:117
光子程序員怎麼獲得 瀏覽:535
中醫診斷學第九版pdf 瀏覽:498
python集成包 瀏覽:305