官术网_书友最值得收藏!

1.1 Java簡介

Java最早是由SUN公司(已被Oracle收購)的詹姆斯·高斯林(Java之父)在20世紀(jì)90年代初開發(fā)的一種編程語言,最初被命名為Oak,目標(biāo)是針對(duì)小型家電設(shè)備的嵌入式應(yīng)用,結(jié)果市場(chǎng)沒什么反響。互聯(lián)網(wǎng)的崛起,讓Oak重新煥發(fā)了生機(jī),于是SUN公司改造了Oak,在1995年以Java(Oak已經(jīng)被人注冊(cè)了,因此SUN注冊(cè)了Java這個(gè)商標(biāo))的名稱正式發(fā)布。隨著互聯(lián)網(wǎng)的高速發(fā)展,Java逐漸成為最重要的網(wǎng)絡(luò)編程語言。

Java介于編譯型語言和解釋型語言之間。編譯型語言(如C、C++),直接編譯成機(jī)器碼執(zhí)行,但是不同平臺(tái)(x86、ARM等)的CPU指令集不同,因此需要編譯出每一種平臺(tái)的對(duì)應(yīng)機(jī)器碼。解釋型語言(如Python、Ruby)沒有這個(gè)問題,可以由解釋器直接加載源碼然后運(yùn)行,代價(jià)是運(yùn)行效率太低。Java將代碼編譯成一種“字節(jié)碼”,類似于抽象的CPU指令,然后針對(duì)不同平臺(tái)編寫虛擬機(jī),不同平臺(tái)的虛擬機(jī)負(fù)責(zé)加載字節(jié)碼并執(zhí)行,這樣就實(shí)現(xiàn)了“一次編寫,到處運(yùn)行”的效果。當(dāng)然,這是針對(duì)Java開發(fā)者而言的。對(duì)于虛擬機(jī),需要為每個(gè)平臺(tái)分別開發(fā)。為了保證不同平臺(tái)、不同公司開發(fā)的虛擬機(jī)都能正確執(zhí)行Java字節(jié)碼,SUN公司制定了一系列的Java虛擬機(jī)規(guī)范。從實(shí)踐的角度看,JVM的兼容性做得非常好,低版本的Java字節(jié)碼完全可以正常運(yùn)行在高版本的JVM上。

隨著Java的發(fā)展,SUN給Java分出了三個(gè)不同版本:

· Java SE:Standard Edition。

· Java EE:Enterprise Edition。

· Java ME:Micro Edition。

簡單來說,Java SE就是標(biāo)準(zhǔn)版,包含標(biāo)準(zhǔn)的JVM和標(biāo)準(zhǔn)庫;Java EE是企業(yè)版,在Java SE的基礎(chǔ)上加上了大量的API和庫,以便開發(fā)Web應(yīng)用、數(shù)據(jù)庫、消息服務(wù)等;Java EE使用的虛擬機(jī)和Java SE完全相同。

Java ME和Java SE不同,它是一個(gè)針對(duì)嵌入式設(shè)備的“瘦身版”,Java SE的標(biāo)準(zhǔn)庫無法在Java ME上使用,Java ME的虛擬機(jī)也是“瘦身版”。

毫無疑問,Java SE是整個(gè)Java平臺(tái)的核心,而Java EE是進(jìn)一步學(xué)習(xí)Web應(yīng)用所必需的。我們熟悉的Spring等框架都是Java EE開源生態(tài)系統(tǒng)的一部分。不幸的是,Java ME從來沒有真正流行起來,反而是Android開發(fā)發(fā)展成為移動(dòng)平臺(tái)的標(biāo)準(zhǔn)之一。因此,沒有特殊需求,不建議學(xué)習(xí)Java ME。

我們推薦的Java學(xué)習(xí)路線圖如下:

· 首先要學(xué)習(xí)Java SE,掌握J(rèn)ava語言本身、Java核心開發(fā)技術(shù)以及Java標(biāo)準(zhǔn)庫的使用。

· 如果繼續(xù)學(xué)習(xí)Java EE,那么Spring框架、數(shù)據(jù)庫開發(fā)、分布式架構(gòu)就是需要學(xué)習(xí)的。

· 如果要學(xué)習(xí)大數(shù)據(jù)開發(fā),那么Hadoop、Spark、Flink這些大數(shù)據(jù)平臺(tái)就是需要學(xué)習(xí)的,它們都基于Java或Scala開發(fā)的。

· 如果想要學(xué)習(xí)移動(dòng)開發(fā),就深入學(xué)習(xí)Android平臺(tái),掌握Android App開發(fā)。

無論怎么選擇,Java SE的核心技術(shù)是基礎(chǔ)。

主站蜘蛛池模板: 滦平县| 吉安县| 新田县| 遵化市| 盐边县| 天全县| 轮台县| 灌阳县| 如东县| 蒙阴县| 五大连池市| 莒南县| 来安县| 霍邱县| 鹤山市| 宿松县| 鹤岗市| 贵港市| 宁海县| 双鸭山市| 临泉县| 舞阳县| 陵川县| 仙游县| 五大连池市| 杭锦旗| 房产| 丰宁| 万源市| 池州市| 山阴县| 自贡市| 南澳县| 恭城| 遂宁市| 石城县| 锡林郭勒盟| 延长县| 紫阳县| 天全县| 米脂县|