『壹』 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的3個平台有什麼區別
平台的區別和關系如下:
一、定義和應用范圍:J2SE包含於J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類 。
1、j2se是java的桌面應用平台,用於開發桌面應用程序,比如qq,暴風影音都是桌面應用程序,其中s表示standard,標準的意思。
2、j2ee,其中的e表示enterprise,即企業是意思,即java企業應用平台,用於大型的分布式的開發程序。
3、j2me,m表示mobile,即移動平台,用於開發手機,嵌入cpu機器的開發平台。
二、應用領域:
1、針對企業網應用的J2EE(Java 2Enterprise Edition);
2、針對普通PC應用的J2SE(Java 2 StandardEdition);
3、針對嵌入式設備及消費類電器的J2ME(Java 2 MicroEdition)。
三、做出來的東西即java程序:
1、 源文件擴展名.java;
2、對應文件編譯後擴展名為.class;
3、打包後擴展名為.jar。
(2)編譯庫不同平台是什麼意思擴展閱讀:
Java的三大核心機制:
1、虛擬機機制:利用虛擬機解釋位元組碼執行java程序實現跨平台。
2、垃圾收集機制:自動內存回收。
3、代碼安全性機制:載入代碼後校驗代碼後再執行代碼。
『叄』 搞不懂:如果C++在每個平台都有編譯器,不就想JAVA一樣成了跨平台的了嗎
C++ 和 Java 這兩種編譯型語言都是跨平台的,只是它們跨平台的層次不同而已:
前者是源碼層(Fortran 和 Pascal 也是),後者是可執行文件層。
也就是說,要移植的話,C++ 程序必須在目的平台上重新編譯,Java 則只需把可執行文件拷到目的平台上去,不必在那裡重新編譯。
我說的 「可執行文件」 的定義是 「編譯器的輸出文件」(C++ 的是 .exe,Java 的是 .class)。
『肆』 編譯c#項目,在項目屬性中,平台與目標平台的區別是什麼
這其實是C#編譯器為我們提供的1個 /platform命令行開關選項,
any cpu 為默認選項,它表示最終生成的程序集可以在任何版本的Windows上運行
X86 它表示最終生成的程序集只能在32位Windows版本的X86機器上使用
X64 它表示最終生成的程序集只能在64位Windows版本的X64機器上使用
Itanium(安騰) 它採取了WoW64技術,可以模擬X86指令,也就是允許運行32位Windows應用程序,由這些32位應用程序最終生成的程序集可以在64位Windows版本的IA64機器上使用
『伍』 什麼是編譯環境他的作用是什麼編譯環境跟運行平台有什麼不同
編譯環境是將「一種語言(通常為高級語言)」翻譯為「另一種語言(通常為低級語言)」的程序。作用是通過代入預定義等程序段將源程序補充完整。
編譯環境跟運行平台區別為:工具不同、調試不同、硬體支持不同。
一、工具不同
1、編譯環境:編譯環境包含開發、調試和部署等工具。
2、運行平台:運行平台只包含運行指令和class實現的工具。
二、調試不同
1、編譯環境:編譯環境有調試代碼的功能,調試後可重新編譯執行。
2、運行平台:運行平台沒有調試代碼的功能。
三、硬體支持不同
1、編譯環境:編譯環境使用的是模擬設備,不需要硬體支持。
2、運行平台:運行平台需要硬體支持,在實際設備中運行。