深入显出谈Java的发展历程及语言特点
本文首先認識一下Java語言的創始人詹姆斯高斯林,然后再談談Java語言的發展軌跡和語言特點,最后說一說為什么要學習Java語言。
Java語言的創始人詹姆斯高斯林
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?詹姆斯高斯林
圖中這個和藹和親大叔就是詹姆斯高斯林,被人稱為Java之父。他將JAVA語言比喻成:奉獻給世人一杯熱氣騰騰、芬香四溢的咖啡。Java的Log也是一杯冒著熱氣的咖啡。咖啡是世界上比較流行的飲料,詹姆斯將JAVA語言比喻為一杯咖啡,可見他對JAVA語言將會流行世界是多么的自信。
?
Java語言的發展軌跡
Java語言由Sun公司的詹姆斯高斯林等人于1990年代初開發Java語言的雛形,最初被命名為Oak。Java隨著互聯網技術的應用得到了快速發展,逐漸成為重要的網絡編程語言。Java從第一個版本發布到現在已經有28年的時間了,下圖回顧了Java的發展軌跡和歷史變遷。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Java發展時間線
Java語言誕生于1994年,但可以溯源到1991年。1991年,在Sun公司工作的詹姆斯受命組織團隊開發一個叫Oak的項目,目標設定在家用電器等小型系統的編程語言,來解決諸如電視機、電話、鬧鐘、烤面包機等家用電器的控制和通訊問題,由于這些智能化家電的市場需求沒有預期的高,Sun公司放棄了該項計劃。就在Oak幾近失敗之時。在1994年詹姆斯高斯林等人決定將該技術應用于互聯網,將該語言改造為網絡編程語言,這個語言就是Java語言的前身。
?
?
1991年詹姆斯受命組織開發OaK項目
語言改造后,OaK語言在互聯網上得到很大的應用和發展,從一個默默無聞的小人物,突然變成了一個家喻戶曉的大人物,而這時,發生了一件事情,促使詹姆斯對OaK語言改名。原來OaK名稱已被一家顯卡制造商注冊,Oak這個名字不能再用了,詹姆斯于是在1995年將OaK更名為Java。
1996年是Java語言里程碑的一年,在這一年,Java開發人員熟悉的JDK 1.0發布了,Java語言有了第一個正式版本的運行環境。JDK 1.0版本包括Java虛擬機、網頁應用小程序,可以嵌套在網頁中運行,用戶界面組件,通過用戶界面組件可以開發窗口應用程序。
?
?
?
1996年JDK1.0發布
1998年,對Java語言來說,又是一個里程碑。Java正式發布了J2SE 1.2,在這個版本中,Java技術體系拆分為3個方向,分別是面向桌面應用開發的J2SE、面向企業級開發的J2EE和面向手機等移動終端開發的J2ME。
?
2006年,對java來說,發生了兩件大事。第一件大事是Sun公司宣布將Java代碼開源,代碼開源意味者Java開發者可以查看Java核心代碼,了解JDK核心架構。第二件大事終結了從JDK 1.2開始已經有8年歷史的J2EE、J2SE、J2ME的命名方式,啟用Java SE 6、Java EE 6、Java ME 6的命名方式。
?
2006年Java代碼開源
2017年,Orcle公司正式發布了Java SE9版,為什么是Orcale公司,而不是Sun公司呢,因為Sun公司在2009年被Orcale以74億美元的價格收購了。
?
Java語言的特點
Java語言是世界上用的最多的編程語言,它是如何吸引了眾多的開發者,同其它語言相比,它有哪些特點呢?
(1)平臺無關性
Java語言的一個顯著特點就是平臺的無關性,即Java是可以跨平臺的編程語言。要理解平臺無關性的特點,首先要知道什么是平臺,打開電腦我們用Windows系統,打開手機我們用安卓系統、再高深一點的大型網站用到的Linux系統,這些系統都是平臺。平臺無關性的意思就是用Java語言寫的程序可以在任何平臺上運行,如windows系統、安卓系統、Linux系統上運行。那么java是如何實現跨平臺運行的呢?下圖給出了Java程序從編寫、編譯到運行的過程流程圖,從圖中可以找到java跨平臺的原理。
?
Java平臺無關性原理
我們用記事本、Eclipse等工具寫好Java程序后,使用Java編譯器將寫好的Java代碼文件編譯成中間文件,中間文件的擴展名是class,當我們需要class文件在Windows系統上運行時,還得需要在Windows系統上安裝一個Java虛擬機,由Java虛擬機解釋class文件,并翻譯成Windows運行代碼。同樣,如果我們需要class文件在Linux系統上運行,就需要在Linux系統上安裝Java虛擬機,由Java虛擬機解釋class文件,并翻譯成Linux運行代碼。在其它系統上也是如此。
(2)面向對象
Java是面向對象的語言,什么是面向對象呢?面向對象主要是針對面向過程開發來說的。
假如我們要開發一個學生管理系統,用面向過程來開發的話,可能會考慮該系統主要有哪些功能以及數據,功能可能包括學生信息、查詢成績、安排課程等;數據可能包括學生信息、課程信息,并通過數組、鏈表等數據結構來存儲和組織這些數據。功能和數據確定后,通過編寫函數實現功能并操作數據,其函數和數據是分離的。當系統的數據改變時,如在學生信息中增加學生的家庭信息,面向過程開發的麻煩就來了,得需要修改大量代碼以適應數據的改變。
用面向對象來開發的話,可以把對象想象成現實世界中的事物,如人、動物、樓房、樹木等。事物有屬性和行為,例如人有姓名、年齡、性別等屬性,也有跑步、騎自行車、吃飯等行為。如果要編寫一個關于人的系統,可以把人的屬性和行為看作一個整體并封裝為一個Java類,這就是面向對象開發的概念。
用對象來考慮學生管理系統,自然會考慮到該系統由老師、學生、課程等對象組成。老師有姓名、專業、授課課程、所教班級、上課時間等屬性,也有上課、查詢和錄入學生信息等行為;學生有學號、姓名、出生年月、所在班級等屬性,也有查詢成績、查詢課程等行為;課程有課程名稱、課程編號、授課老師等屬性,也有課程安排等行為。
面向對象把數據(對象屬性)和功能(行為)封裝到一個對象中,所有對數據(對象屬性)的操作都封裝在對象中,較好實現了數據封閉型原則。當數據(對象屬性)改變時,不會影響到其它代碼,易于系統的擴展和維護。而且,面向對象更接近于人的思維。
?
(3)內存的自動管理
學過C語言開發的人,對內存的管理都很頭痛。用Java語言可以不用考慮內存了。在生活中,我們希望有個袋子可以無限地裝東西。在Java編程中,可以把內存看成袋子,不用擔心袋子裝不下東西,不用整理袋子,Java會自動整理,大大提高了我們的編程效率。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 內存的自動管理
?
學習Java語言的前景
對開發者來說,選擇一門語言來學習,其實也要下很大決心的,畢竟要付出不少精力。在眾多編程語言中,為什么要學習Java呢?
(1)世界上最受程序員歡迎的編程語言
Java語言從出現到今天,已經發展了28年。在這28年中,產生了無數和Java相關的產品、技術和標準,眾多的開源框架和組件給Java程序員提供了標準積木,用于快速構建大型企業應用項目。
(2)企業最熱衷的編程語言
因為Java易學、安全性,可移植、跨平臺等特點,并且提供了大量開源框架和組件,易于構建大型企業應用項目。因此政府組織、機構及大型企業都青睞于用Java開發信息系統,企業用人需求量巨大。
(3)學習Java高薪沒有問題
學會java,不但容易找到工作,錢賺的也多。Java工程師是世界上軟件工程師需求量最大的,尤其是Java高級工程師,年薪平均在25W-50W之間,Java架構師薪資在80W起,選擇Java,高薪沒問題!(來自培訓班宣傳廣告)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的深入显出谈Java的发展历程及语言特点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 以色辨位的Farmer(洛谷P5832题
- 下一篇: 数列分段(洛谷P1181题题解,Java