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