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

1.1 Java簡介

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

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

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

· Java SE:Standard Edition。

· Java EE:Enterprise Edition。

· Java ME:Micro Edition。

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

Java ME和Java SE不同,它是一個針對嵌入式設備的“瘦身版”,Java SE的標準庫無法在Java ME上使用,Java ME的虛擬機也是“瘦身版”。

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

我們推薦的Java學習路線如下:

· 首先要學習Java SE,掌握Java語言本身、Java核心開發(fā)技術以及Java標準庫的使用。

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

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

· 如果想要學習移動開發(fā),就要深入學習Android平臺,掌握Android App開發(fā)。

無論怎么選擇,Java SE的核心技術是基礎。

主站蜘蛛池模板: 泰兴市| 中阳县| 思南县| 韩城市| 育儿| 化德县| 明溪县| 珠海市| 鹿泉市| 邳州市| 柘城县| 肇庆市| 丰城市| 瑞金市| 潍坊市| 昌邑市| 凤台县| 兴化市| 桃园市| 定结县| 隆昌县| 安吉县| 怀安县| 新龙县| 宾阳县| 龙泉市| 家居| 民勤县| 濮阳县| 宜春市| 麻江县| 抚松县| 贵阳市| 昭苏县| 德惠市| 嵩明县| 扶余县| 莒南县| 册亨县| 阿图什市| 崇阳县|