⑴ 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完美的解決了這個問題,JAVA是如何做到這一點的呢?在上圖中我們可以看到JAVA代碼執行的流程。
JAVA源代碼->JAVA位元組碼->JVM解釋執行
我們寫的JAVA源代碼會被編譯為位元組碼,然後被JVM虛擬機解釋執行,我們可以看到JVM虛擬機在跨平台的過程中發揮了重要的作用,就是由它解釋位元組碼並執行的,對應於每一個平台都有一個JVM虛擬機,而位元組碼只有一份,windows的JVM虛擬機可以將位元組碼解釋為能在windows平台上執行的指令並執行,Linux的JVM虛擬機可以將位元組碼解釋為能在Linux平台上執行的指令並執行,他們執行的位元組碼都是同一份。這樣就實現了跨平台。
⑶ java可以跨平台的原因是什麼
因為Java程序編譯之後的代碼不是能被硬體系統直接運行的代碼,而是一種「中間碼」——位元組碼。然後不同的硬體平台上安裝有不同的Java虛擬機(JVM),由JVM來把位元組碼再「翻譯」成所對應的硬體平台能夠執行的代碼。因此對於Java編程者來說,不需要考慮硬體平台是什麼。所以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」更准確的理解是,「一次編譯,到處裝虛擬機,所以到處運行」。
整個流程如下圖所示。
希望對您有所幫助!~
⑸ 什麼是JVMJava跨平台的原理是什麼
首先我們要理解什麼是跨平台,所謂的跨平台就是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可以跨平台
java是可以跨平台的,只要裝有java虛擬機的操作系統都可以使用
⑺ 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」更准確的理解是,「一次編譯,到處裝虛擬機,所以到處運行」。
整個流程如下圖所示。
希望對您有所幫助!~