Java編程發(fā)展歷史(動力節(jié)點Java學(xué)院整理)
Java的由來
Java語言的誕生具有一定的戲劇性,它并不是經(jīng)過精心策劃、制作、最后殘生的劃時代產(chǎn)品,從某個角度來說,Java語言的誕生完全是一種誤會,美麗的誤會。
1990年年末,Sun公司預(yù)科嵌入式系統(tǒng)將在未來家用電器領(lǐng)域大顯身手,于是Sun公司成立了一個由James Gosling(后來被稱為Java之父)領(lǐng)導(dǎo)的“Creen計劃”,準(zhǔn)備為下一代智能家電(如電視機,微波爐,電話)編寫一個通用控制系統(tǒng)。
該團隊最初考慮使用C++語言,但是很多成員包括Sun的首席科學(xué)家Bill Joy,發(fā)現(xiàn)C++和可用的API在某些方面存在很大問題,而且工作小組使用的是嵌入式平臺,可用在系統(tǒng)資源極其有限,并且很多成員都發(fā)現(xiàn)C++太復(fù)雜,以至很多開發(fā)者經(jīng)常錯誤使用,而且C++缺少垃圾回收系統(tǒng),可移植性,分布式和多線程等功能。
根據(jù)可用的資金,Bill Joy決定開發(fā)一種新語言,他提議在C++的基礎(chǔ)上,開發(fā)一種面向?qū)ο蟮沫h(huán)境,于是,Gosling視圖通過修改和擴展C++的功能來滿足這個要求,但是后來他放棄了,他決定創(chuàng)造一種全新的語言:oak, 這個就是Java的前身。
到了1992年的夏天,Green計劃已經(jīng)完成了新的平臺的部分功能,包括Green操作系統(tǒng),Oak的程序設(shè)計語言,類庫等,同年11月,Green計劃被轉(zhuǎn)化成“FirstPerson有限公司”,一個Sun公司的全資子公司。
FirstPerson團隊致力于創(chuàng)建一種高度互動的設(shè)備,當(dāng)時代華納公司發(fā)布了一個關(guān)于電視機頂盒的征求提議書時, FirstPerson改變了他們的目標(biāo),作為對征求提議書的響應(yīng),提出了一個機頂盒平臺的提議。但有限電視業(yè)界覺得 FirstPerson的平臺給予用戶過多的控制權(quán),因此 FirstPerson的投標(biāo)敗給了SGI,同時,在3DO公司的另外一筆關(guān)于機頂盒的交易也沒有成功,因此,可憐的Green項目幾乎接近夭折,甚至Green項目組的一半成員也被調(diào)到其他項目組。
oak正式更名為Java
1994年夏天,互聯(lián)網(wǎng)和游覽器的出現(xiàn)不僅給廣大互聯(lián)網(wǎng)的用戶帶來了福音,也給Oak語言帶來了新的生機,James Gosling立即意識到,這是一個機會,于是對Oak進行小規(guī)模的改造,到了1994年秋,小組中的Naughton和Jonathan Payne 完成了第一個Java語言的網(wǎng)頁游覽器:WebRunner。Sun公司實驗室主任Bert Sutherland和技術(shù)總監(jiān)Eric Schmidt觀看了該游覽器的演示,對該游覽器的效果給予了高度的評價,當(dāng)時Oak這個商標(biāo)已經(jīng)被別人注冊,于是只的將Oak更名為Java。
Sun公司在1995年年初發(fā)布了Java語言,Sun公司直接把Java放到互聯(lián)網(wǎng)上,免費給大家使用,甚至連源代碼也不保密,也放在互聯(lián)網(wǎng)上向所有人公開。
幾個月后,讓所有人都大吃一驚的事情發(fā)生了,Java成了互聯(lián)網(wǎng)上最熱門的寶貝,竟然后10萬多人次訪問了Sun公司的網(wǎng)頁,下載了Java語言,然后,互聯(lián)網(wǎng)上立即就有了數(shù)不清的Java小程序(也就是Applet),演示著各種小動畫,小游戲等。
Java語言終于揚眉吐氣成為了一種廣為人知的編程語言。
Java的正式推出
1995年,Sun雖然推出了Java,但這只是一種語言,如果想開發(fā)復(fù)炸的應(yīng)用程序,必須要有一個強大的開發(fā)類庫,因此,Sun在1996年年初發(fā)布了JDK1.0,這個版本包括兩部分:運行環(huán)境(即JRE)和開發(fā)環(huán)境(JDK),運行環(huán)境包括核心API,集成API,用戶界面API,發(fā)布,Java虛擬機(JVM)5個部分,開發(fā)環(huán)境包括編譯Java程序的編譯器(即javac命令)
接著,Sun公司1997年2月18日發(fā)布JDK1.1,JDK1.1增加了JIT(即時編譯)編譯器,JIT和傳統(tǒng)的編譯器不同,傳統(tǒng)的編譯器是編譯一條,運行完后將其扔掉,而JIT會將經(jīng)常的指令保存在內(nèi)存中,下次調(diào)用時就不需要重新編譯了,通過這種方式讓JDK在效率上有了很大的提高。
- n1996年年底,F(xiàn)lash面世了,這個更加簡單的動畫設(shè)計軟件,吞噬了Java在網(wǎng)頁上的應(yīng)用。
- n1998年12月,Sun公司發(fā)布Java歷史上最重要的JDK版本,JDK1.2,伴隨JDK1.2一同發(fā)布的還有JSP/Servlet,ELB等規(guī)范,并將Java分成了J2EE,J2SE,j2ME三個版本:
- J2ME:主要用于控制移動設(shè)備和信息家電等有限存儲的設(shè)備。
- J2SE:整個Java技術(shù)核心和基礎(chǔ),它是J2ME和J2EE編程的基礎(chǔ)。
- J2EE:java技術(shù)中應(yīng)用應(yīng)用最廣泛的部分,
- n2002年2月,Sun發(fā)布了Jdk1.4歷史上最成熟的版本,也出現(xiàn)了大量Java開源框架:Struts,WebWork,Hibernate,Spring。
- n2004年10月,Sun發(fā)布了JDK1.5,同時將JDK1.5更名為JDK5.0,并增加了新功能。
- n2006年12月,Sun公司發(fā)布了JDK1.6,也稱為JDK6.0。
- n2009年4月20日,Oracle宣布以每股9.5美元的價格收購Sun公司,該交易的總價值約為74億美元。
- n2011年7月28日,Oracle公司發(fā)布了JDK7。
- n2014年3月18日,Oracle公司發(fā)布了JDK8。
現(xiàn)在Java已經(jīng)是長久雄踞編程語言排名第一的寶座了。
相關(guān)文章
Spring Cloud 網(wǎng)關(guān)服務(wù) zuul 動態(tài)路由的實現(xiàn)方法
網(wǎng)關(guān)服務(wù)是流量的唯一入口。不能隨便停服務(wù)。所以動態(tài)路由就顯得尤為必要。這篇文章主要介紹了Spring Cloud 網(wǎng)關(guān)服務(wù) zuul 三 動態(tài)路由的相關(guān)知識,需要的朋友可以參考下2019-10-10java調(diào)用文心一言API的方法實現(xiàn)過程
Java是一種廣泛使用的編程語言,用于開發(fā)各種應(yīng)用程序,下面這篇文章主要給大家介紹了關(guān)于java調(diào)用文心一言API的方法實現(xiàn),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12如何用JAVA判斷當(dāng)前時間是否為節(jié)假日、周末、工作日及調(diào)休日(不報錯:IOException!)
最近公司有個業(yè)務(wù)需要判斷工作日,但是每年的節(jié)假日不一樣,下面這篇文章主要給大家介紹了關(guān)于如何用JAVA判斷當(dāng)前時間是否為節(jié)假日、周末、工作日及調(diào)休日的相關(guān)資料,且不報錯:IOException!,需要的朋友可以參考下2023-12-12SpringBoot?注解?@AutoConfiguration?在?2.7?版本中被新增的使用方法詳解
這篇文章主要介紹了SpringBoot?注解?@AutoConfiguration?在?2.7?版本中被新增(使用方法),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09關(guān)于java自定義線程池的原理與實現(xiàn)
本文介紹了如何自定義線程池和阻塞隊列,包括阻塞隊列的實現(xiàn)方法,線程池的構(gòu)建以及拒絕策略的應(yīng)用,詳細(xì)闡述了線程池中任務(wù)的提交和執(zhí)行流程,以及如何處理任務(wù)超出隊列容量的情況2022-04-04