很多人知道Java是編程語言中應(yīng)用比較廣泛的一種,為什么Java能有這么廣泛的應(yīng)用呢?今天,小編就來給大家說一說,Java的特性以及體系平臺。
Java的特性
Java是基于C/C++基礎(chǔ)之上發(fā)展而來,但是不同于C/C的是Java是純粹的面向?qū)ο笳Z言,舍棄了C語言中容易引起錯誤的指針,并引入了垃圾回收機制,不需要手動釋放內(nèi)存。
相對于C/C而言,Java更加簡單易用、安全,開發(fā)效率更高,但是運行效率略低。而且基于JVM實現(xiàn)了一次編譯,到處運行,也支持分布式應(yīng)用開發(fā)、高并發(fā)(原生支持多線程)、高可用、高性能等應(yīng)用場景。
Java是體系結(jié)構(gòu)中立的,所謂的體系結(jié)構(gòu)中立有兩層含義,其一是JVM的實現(xiàn)只要是遵守JVM規(guī)范的實現(xiàn)都可以,其二是JVM除了識別java編譯器編譯生成的字節(jié)碼以外還可以識別scala,kotlin等語言編譯生成的字節(jié)碼文件。
Java技術(shù)體系平臺
Java自從1998年之后將Java分為三個版本,分別是JavaSE,JavaEE和JavaME,不同的版本有不同的應(yīng)用場景。
JavaSE(JavaStandardEdition):標(biāo)準(zhǔn)版Java,提供了完整的Java核心API,主要用于桌面應(yīng)用開發(fā),不過目前桌面開發(fā)基本都基于C++實現(xiàn)。
JavaEE(JavaEnterpriseEdition):企業(yè)式Java,主要用于企業(yè)級后臺服務(wù),大型分布式互聯(lián)網(wǎng)應(yīng)用開發(fā)。
JavaME(JavaMicroEdition):嵌入式Java,主要用于開發(fā)嵌入式設(shè)備的產(chǎn)品,例如塞班手機游戲(已經(jīng)消亡)。
Java9嘗試把JavaSE,JavaME,JavaEE合并起來,用模塊的方式進(jìn)行區(qū)分
由于目前Java主要的擅長領(lǐng)域是企業(yè)級后臺服務(wù)開發(fā)、Android移動應(yīng)用開發(fā)以及大數(shù)據(jù)應(yīng)用開發(fā),而Java語言是它們的基石語言,因此無論是從事企業(yè)級后臺服務(wù)開發(fā),還是Android以及大數(shù)據(jù)應(yīng)用開發(fā),都要先從JavaSE入門,然后再學(xué)習(xí)企業(yè)級應(yīng)用以及大型分布式互聯(lián)網(wǎng)應(yīng)用相關(guān)的Java技術(shù)棧,例如MyBatis,SpringFramework/SpringBoot/SpringCloud,SpringCloudAlibaba等等。
Java語言的跨平臺原理
平臺指的是操作系統(tǒng)平臺,目前主流的三大操作系統(tǒng)平臺是Windows,Linux,macOS。
Java語言的跨平臺是Java程序可以在任意的操作系統(tǒng)上運行,其原理是Java程序不是直接運行在操作系統(tǒng)之上,而是運行在JVM之上。在需要運行Java應(yīng)用程序的操作系統(tǒng)上,安裝一個與操作系統(tǒng)對應(yīng)的Java虛擬機(JavaVirtualMachine)即可實現(xiàn)跨平臺,Java虛擬機是采用C語言實現(xiàn)的。
生活中有一個典型的場景:例如一個中國人想要和美國人、德國人、法國人交流,但是中國人不懂英語、德語和法語,此時中國人可以分別找英語翻譯、德語翻譯和法語翻譯來實現(xiàn)和美國人、德國人和法國人的交流。而Java程序想要在不同的操作系統(tǒng)上運行,也可以找不同平臺的翻譯,這個翻譯就是指的JVM(JavaVirtualMachine)。
以上就是小編為大家總結(jié)的關(guān)于Java的特性以及體系平臺的相關(guān)知識,希望對您有幫助。