<p>
</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-73c9d2135e1b61aa.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-1bc16d5e10efcc65.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>作者|神靈</p><p>主管編輯|吳興玲</p><p>生產(chǎn)的CSDN(ID:CSDNnews)
</p><p>本文來源于網(wǎng)絡(luò),侵刪。</p><p>
</p><p>
</p><p><strong>Java的起源和誕生</strong></p><p>
</p><p>在1990年代,單片計算機(jī)系統(tǒng)誕生了。單片計算機(jī)系統(tǒng)不僅價格便宜,而且功能強(qiáng)大。使用它可以大大增強(qiáng)消費電子產(chǎn)品的智能性。</p><p>為了抓住市場機(jī)會,SUN于1991年成立了由James Gosling領(lǐng)導(dǎo)的“綠色”項目團(tuán)隊,目的是開發(fā)可以在各種消費電子產(chǎn)品上運(yùn)行的程序。建筑。</p><p>因此,將哪種編程語言用于設(shè)計對于項目團(tuán)隊來說是一個頭疼的問題。那時,C ++具有更多優(yōu)勢。項目團(tuán)隊首先考慮使用它來編寫程序,但是C ++太復(fù)雜且太大,并且由于消費電子產(chǎn)品中使用的嵌入式處理器芯片種類繁多,因此有必要編寫程序??缙脚_操作,如果用C ++編寫,則對程序的跨平臺操作不友好。</p><p>最終,項目團(tuán)隊決定:既不使用C ++編寫也不開發(fā)新的編程語言,而是進(jìn)行C ++轉(zhuǎn)換:刪除了C ++的復(fù)雜指針和內(nèi)存管理,并結(jié)合了嵌入式系統(tǒng)的實時需求,最后1992年,他們開發(fā)了一種稱為“ Oak”的面向?qū)ο蟮恼Z言。</p><p>當(dāng)他們向硬件制造商演示時,硬件制造商對此并不冷漠。由于缺乏硬件支持,OaK語言無法進(jìn)入市場,因此被擱置了。</p><p>1994年,項目團(tuán)隊看到了瀏覽器的未來發(fā)展前景,因此他們決定將OaK應(yīng)用于萬維網(wǎng)。 1995年,他們使用OaK語言開發(fā)了一種技術(shù),該技術(shù)可以將小程序嵌入到網(wǎng)頁中以執(zhí)行Applet。因為Applet不僅可以嵌入到網(wǎng)頁中,而且還可以通過Web在Web上傳播,這使得無數(shù)的程序員看到了OaK的語言,與此同時,OaK正式將其名稱更改為Java。從那時起,Java隨著Internet的推廣而變得流行。</p><p>
</p><p>
</p><p><strong>Java的演變</strong></p><p>
</p><p>1996年1月,SUN推出了JDK1.0。 JDK1.0發(fā)行后,許多程序員學(xué)習(xí)并使用Java來制作網(wǎng)頁。 JDK包括兩部分:開發(fā)工具和操作環(huán)境。</p><p>操作環(huán)境包括核心API,集成API,用戶界面API,發(fā)布技術(shù)和Java虛擬機(jī)(JVM)。 JDK1.0的發(fā)布標(biāo)志著Java已成為獨立的開發(fā)工具。同年9月,使用Java技術(shù)制作了大約83,000個網(wǎng)頁。</p><p>JDK1.0的代表性技術(shù)包括:Java虛擬機(jī),Applet,AWT等。</p><p>1997年2月,SUN推出了JDK 1.1,在其發(fā)布的三周之內(nèi)就下載了近220,000次。 4月2日,第一次Java One會議在美國舊金山舉行。超過10,000人參加了這次會議,創(chuàng)下了當(dāng)時世界上規(guī)模最大的同類會議的記錄。九月份,Java開發(fā)人員連接社區(qū)有100,000多名成員。同年,還有10個主要的操作系統(tǒng)供應(yīng)商正式宣布將在其產(chǎn)品中使用Java。</p><p>JDK1.1的代表性技術(shù)包括:JDBC,JavaBeans,RMI,JAR文件格式,內(nèi)部類和Java語法中的反射。</p><p>1998年12月8日,發(fā)布了第二版Java平臺J2EE的企業(yè)版JDK1.2。</p><p>1999年6月,Sun公司將Java系統(tǒng)分為三個方向:</p><p>J2ME(Java2微型版,Java2平臺的微型版),用于移動,無線和有限資源環(huán)境中;</p><p>J2SE(Java 2標(biāo)準(zhǔn)版,Java 2平臺的標(biāo)準(zhǔn)版),用于桌面環(huán)境;</p><p>J2EE(Java 2企業(yè)版,Java 2平臺的企業(yè)版),用于基于Java的應(yīng)用程序服務(wù)器中。</p><p>對于不同的供應(yīng)商,Java API也分為三類:</p><p>Java Core API:Java核心類庫;</p><p>Java可選API:對先前API的擴(kuò)展;</p><p>特殊API:由特殊制造商或組織提供的API。</p><p>Java 2平臺的發(fā)布是Java開發(fā)中最重要的里程碑,標(biāo)志著Java應(yīng)用程序開始普及。</p><p>JKD1.2的代表性技術(shù)包括:Swing,Java IDL,EJB,Java插件等。在API文檔中,添加了strictfp關(guān)鍵字和Collections集合類。</p><p>在1999年4月27日,發(fā)布了HotSpot虛擬機(jī)。 HotSpot由一家名為“ Longview Technologies”的小公司開發(fā),后來被SUN收購。發(fā)行HotSpot虛擬機(jī)時,它作為JDK 1.2的附件提供,后來成為JDK 1.3和Sun JDK的所有更高版本的默認(rèn)虛擬機(jī)。</p><p>2000年5月,相繼發(fā)布了JDK1.3,JDK1.4和J2SE1.3。 J2SE1.3是對J2SE1.2的補(bǔ)充和擴(kuò)展。從應(yīng)用領(lǐng)域的角度來看,JavaSE1.3已經(jīng)涵蓋了數(shù)據(jù)庫,WEB和網(wǎng)絡(luò)。 ,圖形,多媒體,電話,圖像和大多數(shù)信息技術(shù)領(lǐng)域。</p><p>在2002年2月26日,發(fā)布了J2SE1.4。與J2SE1.3相比,類和接口增加了近62%。在這些新功能中,它還提供廣泛的XML支持,安全套接字(Socket)支持(通過SSL和TLS協(xié)議),全新的I / OAPI,正則表達(dá)式,日志記錄和斷言。</p><p>J2SE1.5于2004年9月30日發(fā)布,成為Java語言開發(fā)歷史上的另一個里程碑。為了表達(dá)此版本的重要性,J2SE 1.5被重命名為Java SE 5.0(內(nèi)部版本號為1.5.0)。 Java SE 5.0包含自1996年1.0版以來最重要的更新,包括通用支持,基本類型的自動裝箱,改進(jìn)的循環(huán),枚舉類型,格式化的I / O和可變參數(shù)。</p><p>在2005年6月的Java One會議上,Sun發(fā)布了Java SE6。這時,各種版本的Java被重命名,而數(shù)字2被取消。例如,J2EE重命名為JavaEE,J2SE重命名為JavaSE,J2ME重命名為JavaME。</p><p>2011年7月28日,收購Sun的Oracle發(fā)行了Java SE 7,該Java SE 7引入了新功能,例如二進(jìn)制整數(shù),支持字符串的switch語句,棱柱形語法,多個異常捕獲以及嘗試自動關(guān)閉資源的語言。</p><p>2014年3月18日,Oracle Corporation發(fā)布了Java SE8。此版本的升級帶來了許多新功能,例如全新的Lambda表達(dá)式和Java的流式編程。這些新功能使Java更加強(qiáng)大。</p><p>2017年9月22日,Oracle公司發(fā)布了Java SE9。此版本升級增強(qiáng)了Java模塊化系統(tǒng),使Java語言更輕巧,并采用了更高效,更智能的GI垃圾收集器。類庫上的許多更新可以進(jìn)一步簡化編程。</p><p>Java SE 10于2018年3月21日發(fā)布。 Java 10版本帶來了許多新功能。其中,開發(fā)人員最關(guān)心的是局部變量類型推斷。此外,它還包括新功能,例如垃圾收集器改進(jìn),GC改進(jìn),性能改進(jìn),線程管理和控制。</p><p>Java SE 11于2018年9月26日發(fā)布。這是主要Java版本周期更改后的第一個長期支持版本(LTS版本將繼續(xù)受支持,直到2026年9月)。 Java11帶來了諸如ZGC和Http Client之類的重要功能,并且總共包含17個JEP(JDK增強(qiáng)建議)。</p><p>Java SE 12已于2019年3月20日發(fā)布。 Java 12是短期支持版本,可以在下一個版本發(fā)布之前獲得Oracle的商業(yè)支持。</p><p>2019年9月23日,Java SE 13被發(fā)布。此版本添加了“文本塊”。文本塊是多行字符串文字,避免了大多數(shù)轉(zhuǎn)義序列的需要,并以可預(yù)測的方式自動格式化字符串,并讓開發(fā)人員在需要時控制格式。</p><p>
</p><p>
</p><p><strong>爪哇人經(jīng)歷了千辛萬苦,以換取春天的花朵</strong></p><p>
</p><p>經(jīng)過20多年的版本更新,逐步積累,創(chuàng)建了當(dāng)今的Java。</p><p>列出更新過程中Java的新功能:</p><p><strong><strong>Java 1.0:</strong></strong></p><ul><li><p>虛擬機(jī)-Sun Classic VM</p></li><li><p>Java applet-AppletJava applet-Applet</p></li><li><p>Java圖形設(shè)計</p></li></ul><p><strong><strong>Java 1.1:</strong></strong></p><ul><li><p>罐子包裝-瓶子</p></li><li><p>Java規(guī)范-JavaBeans</p></li><li><p>連接到數(shù)據(jù)庫JDBC(Java數(shù)據(jù)庫連接)遠(yuǎn)程調(diào)用RMI</p></li><li><p>內(nèi)部階級-內(nèi)部階級</p></li><li><p>反射-反射</p></li></ul><p><strong><strong>Java 1.2:</strong></strong></p><ul><li><p>字符串常量進(jìn)行內(nèi)存映射</p></li><li><p>對打包的Java文件進(jìn)行數(shù)字簽名</p></li><li><p>策略工具,用于控制對系統(tǒng)資源的授權(quán)訪問</p></li><li><p>JDBC中引入了可滾動的結(jié)果集,BLOB,CLOB,批處理更新和用戶定義的類型</p></li><li><p>在Applet中添加聲音支持</p></li><li><p class="image-package">即時編譯技術(shù)</p></li><li><p>運(yùn)行插件-Java插件</p></li><li><p>J2EE規(guī)范-EJB</p></li><li><p>平臺對象請求代理架構(gòu)-Java IDL</p></li><li><p>收藏集</p></li></ul><p><strong><strong>Java 1.3:</strong></strong></p><ul><li><p>計算</p></li><li><p>CORBA IIOP實現(xiàn)RMI通信協(xié)議</p></li><li><p>Java 2D的新功能</p></li><li><p>Jar文件索引</p></li><li><p>計時器API</p></li><li><p>聲音Java聲音API</p></li></ul><p><strong><strong>Java 1.4:</strong></strong></p><ul><li><p>正則表達(dá)式</p></li><li><p>鏈條異常</p></li><li><p>XML解析器</p></li><li><p>XSLT轉(zhuǎn)換器</p></li><li><p>XML處理</p></li><li><p>Java打印服務(wù)</p></li><li><p>JDBC Advanced-Java Web Start JDBC 3.0JDBC Advanced-Java Web Start JDBC 3.0</p></li><li><p>操作系統(tǒng)的高級功能-首選項</p></li><li><p>先進(jìn)的Stream-NIO</p></li><li><p>記錄功能-記錄</p></li><li><p>圖片流-Imgae I / O</p></li></ul><p><strong><strong>Java 1.5:</strong></strong></p><ul><li><p>自動裝箱和拆箱</p></li><li><p>泛型</p></li><li><p>元數(shù)據(jù)</p></li><li><p>靜態(tài)介紹</p></li><li><p>內(nèi)省-內(nèi)省</p></li><li><p>枚舉枚舉</p></li><li><p>可變長度參數(shù)-Varargs</p></li><li><p>高級虛幻foreach</p></li><li><p>內(nèi)存模型</p></li><li><p>并發(fā)包-并發(fā)</p></li></ul><p><strong><strong>Java SE 6:</strong></strong></p><ul><li><p>名稱變更</p></li><li><p>腳本語言</p></li><li><p>編譯API和微型HTTP服務(wù)器API</p></li><li><p>鎖定并同步</p></li><li><p>垃圾收集</p></li><li><p>類加載</p></li><li><p>Kerberos</p></li><li><p>LDAP</p></li><li><p>JDBC Advanced-JDBC 4.0JDBC Advanced-JDBC 4.0</p></li><li><p>Java?編程語言編譯器接口-Java編譯器</p></li><li><p>可插拔注釋</p></li><li><p>公鑰基礎(chǔ)設(shè)施本機(jī)PKI</p></li><li><p>通用安全服務(wù)-Java GSS</p></li><li><p>網(wǎng)絡(luò)服務(wù)-網(wǎng)絡(luò)服務(wù)</p></li></ul><p><strong><strong>Java SE 7:</strong></strong></p><ul><li><p>字符串可以作為switch語句塊中的分支條件</p></li><li><p>創(chuàng)建通用對象時應(yīng)用類型推斷</p></li><li><p>try-with-resources</p></li><li><p>null值得自動處理</p></li><li><p>數(shù)字類型可以用二進(jìn)制字符串表示</p></li><li><p>介紹Java NIO.2開發(fā)套件</p></li><li><p>動態(tài)語言支持</p></li><li><p>安全加,減,乘和除</p></li><li><p>地圖集合支持并發(fā)請求</p></li></ul><p><strong><strong>Java SE 8:</strong></strong></p><p>Java SE 8是Java更新歷史上非常重要的版本。函數(shù)式編程的引入使Java編程更加強(qiáng)大。典型的有:</p><ul><li><p>Java工具的操作增強(qiáng)</p></li><li><p>Unicode增強(qiáng)功能,包括對Unicode 6.2.0的支持</p></li><li><p>并行數(shù)組排序</p></li><li><p>標(biāo)準(zhǔn)編解碼Base64</p></li><li><p>無符號算術(shù)支持</p></li><li><p>新并發(fā)</p></li><li><p>Lambda表達(dá)式</p></li><li><p>方法參數(shù)反射Java XML技術(shù)增強(qiáng)</p></li><li><p>JSSE服務(wù)器中對SSL / TLS服務(wù)器名稱指示(SNI)擴(kuò)展的增強(qiáng)支持,用于虛擬機(jī)操作</p></li><li><p>支持AEAD算法...</p></li></ul><p><strong>Java SE 9、10 ...</strong></p><p>從目前的情況來看,Java在世界編程語言中排名第一,而且風(fēng)景非常好。</p><p>回想過去,當(dāng)我出生時,我陷入了低谷,然后利用互聯(lián)網(wǎng)崛起。 J2SE捕獲了桌面,J2ME捕獲了手機(jī),J2EE捕獲了服務(wù)器。 Java的三大力量也浪費了時間,并從灰燼中重生。投入甲骨文的懷抱,以換取春天的溫暖。在這種悲傷,快樂,感激和嘆息的情況下,Java的當(dāng)前狀況已不是一天的工作。我希望世界各地的所有程序員都會珍惜并希望它。</p><p>
</p><p>
</p><p><strong>Java崛起,未來充滿希望</strong></p><p>
</p><p><strong><strong>1.從開發(fā)的角度看Java:API不斷更新,可重用性不斷提高</strong></strong></p><p>Java的更新速度非??欤⑶視粫r地進(jìn)行版本迭代以適應(yīng)新技術(shù)的發(fā)展趨勢。學(xué)習(xí)Java的程序員遍布世界各地。幸運(yùn)的是,我也是眾多Java程序員之一。過去幾年一直很熱門的大數(shù)據(jù)也與Java密切相關(guān)。</p><p>Java本身具有極大的開放性和可伸縮性,再加上Java如此悠久的歷史背景,我相信,只要語言繼續(xù)發(fā)展,就很難被時代所淘汰。</p><p><strong><strong>2.從就業(yè)的角度來看Java:Java一直處于互聯(lián)網(wǎng)時代,人工智能時代和5G +時代。</strong></strong></p><p>隨著網(wǎng)絡(luò)的發(fā)展,Java已廣泛用于數(shù)據(jù)中心,PC,游戲,移動電話和其他行業(yè)。從近年來的招聘量來看,對Java開發(fā)人員的需求仍然很大,對Java的學(xué)習(xí)仍然是主流,發(fā)展前景廣闊。</p><p>我國信息技術(shù)人才的培養(yǎng)仍處于發(fā)展階段,導(dǎo)致社會上對人才的實際需求遠(yuǎn)遠(yuǎn)大于信息技術(shù)培訓(xùn)人才的數(shù)量,迫切需要成千上萬的中小企業(yè)需要全面掌握J(rèn)ava軟件開發(fā)的基本技能和知識的軟件工程師。</p><p>Java軟件工程師的就業(yè)前景良好。此外,IT專業(yè)企業(yè)不僅需要Java軟件工程師,而且大多數(shù)非IT企業(yè)也需要Java軟件工程師。前景相對樂觀。我到目前為止所知道的是:</p><p>1. Java企業(yè)應(yīng)用程序開發(fā)</p><p>當(dāng)前,Java在許多行業(yè)中都有許多企業(yè)信息應(yīng)用程序,例如郵箱,物流,醫(yī)療,股票,OA,金融和其他信息系統(tǒng)。這些與當(dāng)前的主流行業(yè)密切相關(guān),因此對Java開發(fā)人員的需求仍然相對較大,并且處理效果相當(dāng)好。工資水平類似于Java Internet的方向。在一些大型企業(yè)中很容易找到工作,只要您有毅力和學(xué)習(xí)的毅力,我認(rèn)為至少當(dāng)面對如此多的選擇時,您不會無用。機(jī)會將永遠(yuǎn)保留給有準(zhǔn)備的人。</p><p>2. Java網(wǎng)站建設(shè)</p><p>近年來,網(wǎng)站建設(shè)業(yè)務(wù)呈現(xiàn)快速增長的勢頭,行業(yè)市場越來越大。許多新技術(shù)的應(yīng)用使公司網(wǎng)站的建設(shè)更具吸引力和功能。 Java編程語言將使網(wǎng)站結(jié)構(gòu)更緊密,訪問更流暢,更適應(yīng)新要求。盡管當(dāng)前的市場分析Java太昂貴而無法建立網(wǎng)站,并且硬件要求也比較高,但是大多數(shù)中小型企業(yè)都會選擇使用PHP語言進(jìn)行開發(fā),但是在許多大型企業(yè)中,Java語言仍然用過,所以你還是有機(jī)會的,鴨子往大昌。</p><p>3. Android開發(fā)</p><p>Android是世界上最大的智能手機(jī)操作系統(tǒng)。 Android在過去幾年中發(fā)展迅速,在該國的市場份額也有所增加。但是,在小程序和H5迅速崛起的影響下,Android本機(jī)開發(fā)的門檻已經(jīng)提高。 Android開發(fā)工程師的要求也有所提高。這就要求學(xué)習(xí)Android的程序員具有熟練的技術(shù)。優(yōu)秀的Android開發(fā)工程師仍然存在很大差距。 Android的中級和高級工程師仍然很受歡迎。 Android應(yīng)用程序的主要開發(fā)語言是Java,因此,如果您非常熟練,則選擇Android是一個很好的方向。</p><p>4. Java游戲開發(fā)</p><p>Java可用于編寫游戲腳本。 Bean,Shell,Groovy等腳本語言可以方便,無縫地與Java語言進(jìn)行交互,這極大地促進(jìn)了Java游戲編程的發(fā)展。當(dāng)前,國內(nèi)游戲比較火爆,有很多受歡迎的電子競技,因此國內(nèi)游戲?qū)I(yè)人士的需求總是存在缺口。因此,只要您具備非凡的技能,就可以努力填補(bǔ)這些空白,而不必?fù)?dān)心食物。</p><p>
</p><p>
</p><p><strong>不要忘了初衷,走Java</strong></p><p>
</p><h3/><p>我是一個學(xué)習(xí)Java的程序員。在完成并撰寫本文之后,我又重新認(rèn)識了Java。在我看來,Java的“火”并非偶然,而是許多因素的累積。 Java的開發(fā)過程值得研究。作為Java的忠實擁護(hù)者,Java的重要性不言而喻。我相信無論是計算機(jī)專業(yè)人士還是非計算機(jī)專業(yè)人士,程序員都會有同感。</p><p>對我來說,其他Java程序員也是一樣,因為他們對Java有著持久的熱愛,因此他們愿意繼續(xù)追求專業(yè)卓越,并且憑借這種忠誠的熱愛,我們將不會懼怕風(fēng)雨無阻而前進(jìn)。不要忘記最初的意圖,并一直擁有它,我想把Java當(dāng)作一匹馬,詩歌和美酒來利用我的時間!</p><p>參考:Java百度百科</p><p>作者簡介:偉大的才華橫溢,熱愛共享的程序員始終相信:“您知道如何共享的知識越多,您的價值就會越高?!?lt;/p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-2fe05440afb85483.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>
</p><p>
</p><p>
</p><p>
</p><p>
</p><p>
</p><p class="image-package"><img class="uploaded-img" src="https://upload-images.jianshu.io/upload_images/24647691-47ca94f170ecd9b1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="auto" height="auto"/></p><p>您訂購的每一次“觀看”,我都將其視為最愛</p>
【庫學(xué)科技資訊】Java 發(fā)展簡史:初生遇低谷,崛起于互聯(lián)網(wǎng)
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。