1. gzyueqian
      13352868059

      粵嵌Java培訓(xùn)解讀Java語言的發(fā)展史

      更新時(shí)間: 2017-06-23 09:39:50來源: 粵嵌教育瀏覽量:5254

        你對(duì)Java了解多少?來看看粵嵌Java培訓(xùn)為你解讀Java語言的發(fā)展史把!

        Java語言源于1991年Sun公司JamesGosling領(lǐng)導(dǎo)的的Ork項(xiàng)目,1995年Sun公司正式起名為Java,并提出""Writeonce,Runanywhere""的口號(hào)。

        1996年1月Java1。0發(fā)布,提供了一個(gè)解釋執(zhí)行的Java虛擬機(jī),其時(shí)恰逢互聯(lián)網(wǎng)開始興起,Java的Applet能在Mozilla瀏覽器中運(yùn)行,被看作是未來的互聯(lián)網(wǎng)語言。

        1997年2月Java1。1發(fā)布,Java語言的基本形態(tài)基本確定了,比如反射(reflection),JavaBean,接口和類的關(guān)系等等,一直到今天都保持一致。然而,Java初的一些目標(biāo),如在瀏覽器中執(zhí)行Applet,以及跨平臺(tái)的圖形界面Awt很快遭遇到負(fù)面的評(píng)價(jià)。

        1998年12月,Java個(gè)里程碑式的版本,即Java1。2發(fā)布了。這個(gè)版本使用了JIT(Justintime)編譯器技術(shù),使得語言的可遷移性和執(zhí)行效率達(dá)到的平衡,同時(shí)Collections集合類設(shè)計(jì)優(yōu)良,在企業(yè)應(yīng)用開發(fā)中迅速得到了廣泛使用。Sun公司把Java技術(shù)體系分成三個(gè)方向,分別是J2SE(面向桌面和通用應(yīng)用開發(fā)),J2EE(面向企業(yè)級(jí)應(yīng)用開發(fā)),J2ME(面向移動(dòng)終端開發(fā)).這個(gè)分類影響非常久遠(yuǎn),體現(xiàn)出主流語言設(shè)計(jì)者的思想:針對(duì)于不同的應(yīng)用領(lǐng)域,在形態(tài),API集合等進(jìn)行劃分。

        2000年5月,Java1。3發(fā)布,這個(gè)版本中Corba作為語言級(jí)別的分布式對(duì)象技術(shù),成為J2EE的一個(gè)技術(shù)前提。J2EE受到Corba的設(shè)計(jì)的影響較大,早期EJB的Home,接口和實(shí)現(xiàn)就是Corba在C語言的實(shí)現(xiàn),被移植到Java語言之中。J2EE中的Servlet規(guī)范獲得了極大的成功,伴隨著互聯(lián)網(wǎng)的興起,和瀏覽器直接通過HTTP協(xié)議交互的Servlet,和眾多的MVC框架,成為Web1。0的網(wǎng)紅。

        2002年2月,Java1。4發(fā)布,Java語言真正走向成熟,提供了非常完備的語言特性,如NIO,正則表達(dá)式,XML處理器等。同年微軟的。NET框架發(fā)布,兩者開始了為期十幾年的暗自競(jìng)爭(zhēng)。從語言特性上來說,.NET后發(fā)先至,一直處于優(yōu)勢(shì)。但Java依賴良好的開發(fā)者生態(tài),絕大多數(shù)大型軟件公司的使用者眾多和不斷貢獻(xiàn),以及對(duì)Linux操作系統(tǒng)良好的支持,漸漸的在服務(wù)器端獲得優(yōu)勢(shì)地位。

        2004年9月,Java5發(fā)布,Sun不再采用J2SE,J2EE這種命名方式,而使用JavaSE5,JavaEE5這樣的名稱。我認(rèn)為Java5是第二個(gè)里程碑式的版本。Java語言語法發(fā)生很大的變化,如注解(Annotation),裝箱(Autoboxing),泛型(Generic),枚舉(Enum),foreach等被加入,提供了java。util。concurrent并發(fā)包。Java5對(duì)于Java語言的推動(dòng)是巨大的,特別是注解的加入,使得語言定義靈活了很多,程序員可以寫出更加符合領(lǐng)域定義的描述性程序。

        2006年5月,JavaEE5發(fā)布,其中主要是EJB3。0的版本升級(jí)。在此之前,EJB2。X版本被廣泛質(zhì)疑,SpringFramework創(chuàng)建者RodJohnson在經(jīng)典書籍""J2EEDevelopmentwithoutEJB""中,對(duì)EJB2代表的分布式對(duì)象的設(shè)計(jì)方法予以批駁。EJB3則重新經(jīng)過改造,使用注解方式,經(jīng)過應(yīng)用服務(wù)器對(duì)POJO對(duì)象進(jìn)行增強(qiáng)來實(shí)現(xiàn)分布式服務(wù)能力。在某種程度,可以說EJB3挽救了JavaEE的過早消亡。

        2006年12月,Java6發(fā)布,這個(gè)語言語法改進(jìn)不多,但在虛擬機(jī)內(nèi)部做了大量的改進(jìn),成為一個(gè)相當(dāng)成熟穩(wěn)定的版本,時(shí)至今日國(guó)內(nèi)的很多公司依然以Java6作為主要Java開發(fā)版本來使用。同年Sun公司做出一個(gè)偉大的決定,將Java開源。OpenJDK從SunJDK1。7版本分支出去,成為今天OpenJDK的基礎(chǔ)。OpenJDK6則由OpenJDK7裁剪而來,目前由紅帽負(fù)責(zé)維護(hù),來滿足RedhatEnterpriseLinux6。X用戶的需要。

        2009年12月,JavaEE6發(fā)布,這個(gè)版本應(yīng)該說是JavaEE到目前為止改進(jìn)影響深遠(yuǎn)的一個(gè)版本。因?yàn)镴avaEE5只有EJB3適應(yīng)了Java注解語法的加入,而EE6全面接納了注解。CDI和BeanValidation規(guī)范的加入,在POJO之上可以定義完備的語義,由容器來決定如何去做。Servlet也升級(jí)到3。0版本,并在接口上加入異步支持,使得系統(tǒng)整體效率可以大幅提高。EE劃分為FullProfile和WebProfile,用戶可以根據(jù)自己的需要選擇不同的功能集。

        在此之前,Oracle已經(jīng)以74億美金的價(jià)格收購(gòu)了Sun公司,獲得了Java商標(biāo)和Java主導(dǎo)權(quán)。也收購(gòu)了BEA公司,獲得市場(chǎng)份額的應(yīng)用服務(wù)器Webogic。JavaEE6雖然是收購(gòu)之后發(fā)布的版本,但主要的設(shè)計(jì)工作仍然由原Sun公司的Java專家完成。

        2011年7月,Oracle發(fā)布Java7,其中主要的特性是NIO2和Fork/Join并發(fā)包,盡管語言上沒有大的增強(qiáng),但我個(gè)人認(rèn)為,自從OracleJDK(包括OpenJDK7),Java虛擬機(jī)的穩(wěn)定性真正做到的工業(yè)級(jí),成為一個(gè)計(jì)算平臺(tái)而服務(wù)于全世界。

        2013年6月,Oracle發(fā)布JavaEE7,這個(gè)版本加入了Websocket,Batch的支持,并且引入Concurrency來對(duì)服務(wù)器多線程進(jìn)行管控。然而所有的子規(guī)范,算上可選項(xiàng)(Optional)總共有40多項(xiàng),開發(fā)者光是閱讀規(guī)范文本就很吃力了,更不要說能夠全局精通掌握。JavaEE規(guī)范的本質(zhì)是企業(yè)級(jí)應(yīng)用設(shè)計(jì)的經(jīng)驗(yàn)?zāi)Y(jié),每一個(gè)API都經(jīng)過眾多豐富經(jīng)驗(yàn)的專家反復(fù)商議并確定。各個(gè)版本之間可以做到向后兼容,也就是說,即使是10年前寫的Servlet程序,當(dāng)前的開發(fā)者也可以流暢的閱讀源碼,經(jīng)過部分代碼調(diào)整和配置修改,可以部署在當(dāng)今的應(yīng)用服務(wù)器上。反過來,今后用Servlet4寫的程序,瀏覽器和服務(wù)器通信使用全新的HTTP/2協(xié)議,但程序員在理解上不會(huì)有障礙,就是因?yàn)镾ervlet規(guī)范的API非常穩(wěn)定,基本沒有大的變化修改。

        2014年3月,Oracle發(fā)布Java8,這個(gè)版本是我認(rèn)為的第三個(gè)有里程碑意義的Java版本。其中引人注目的便是Lambda表達(dá)式了,從此Java語言原生提供了函數(shù)式編程能力。語言方面大的特性增加還有:Streams,Date/TimeAPI,新的Javascript引擎Nashorn,集合的并行計(jì)算支持等,Java8更加適應(yīng)海量云計(jì)算的需要。

        按照原來的計(jì)劃,Java9應(yīng)該在今年7月發(fā)布,但因?yàn)槟K化(JPMS)投票未通過的原因,推遲到今年9月份發(fā)布。

        JavaEE8也會(huì)在今年發(fā)布,預(yù)計(jì)的時(shí)間在8-10月。其中主要更新是Servlet4。0和CDI2。0,后者已經(jīng)完成終規(guī)范的發(fā)布和投票。

        看了java的發(fā)展史,如果你對(duì)Java感興趣,歡迎咨詢粵嵌Java培訓(xùn)了解更多詳情。




      免費(fèi)預(yù)約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲精品高清Av在线播放 | 亚洲妇女性爱视频在线 | 亚洲天堂在线怕怕视频 | 日本中文免费观看视频 | 亚洲欧美综合一区 | 最新精品国偷自产在线 |