- Java項目驅動開發(fā)教程
- 遲殿委 劉麗貞 黃甜甜 楊嘉耀
- 965字
- 2024-12-28 11:14:20
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的核心技術是基礎。
- Magento 2 Development Cookbook
- Java虛擬機字節(jié)碼:從入門到實戰(zhàn)
- Building Mapping Applications with QGIS
- C語言從入門到精通
- 小程序,巧應用:微信小程序開發(fā)實戰(zhàn)(第2版)
- C語言程序設計簡明教程:Qt實戰(zhàn)
- Odoo 10 Implementation Cookbook
- ASP.NET 4.0 Web程序設計
- Mastering JavaScript
- LabVIEW數(shù)據(jù)采集
- Mastering Bootstrap 4
- LabVIEW入門與實戰(zhàn)開發(fā)100例(第4版)
- Head First Kotlin程序設計
- SaaS攻略:入門、實戰(zhàn)與進階
- Building Web and Mobile ArcGIS Server Applications with JavaScript(Second Edition)