1. gzyueqian
      13352868059

      粵嵌Java培訓解讀Java語言的發展史

      更新時間: 2017-06-23 09:39:50來源: 粵嵌教育瀏覽量:4978

        你對Java了解多少?來看看粵嵌Java培訓為你解讀Java語言的發展史把!

        Java語言源于1991年Sun公司JamesGosling領導的的Ork項目,1995年Sun公司正式起名為Java,并提出""Writeonce,Runanywhere""的口號。

        1996年1月Java1。0發布,提供了一個解釋執行的Java虛擬機,其時恰逢互聯網開始興起,Java的Applet能在Mozilla瀏覽器中運行,被看作是未來的互聯網語言。

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

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

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

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

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

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

        2006年12月,Java6發布,這個語言語法改進不多,但在虛擬機內部做了大量的改進,成為一個相當成熟穩定的版本,時至今日國內的很多公司依然以Java6作為主要Java開發版本來使用。同年Sun公司做出一個偉大的決定,將Java開源。OpenJDK從SunJDK1。7版本分支出去,成為今天OpenJDK的基礎。OpenJDK6則由OpenJDK7裁剪而來,目前由紅帽負責維護,來滿足RedhatEnterpriseLinux6。X用戶的需要。

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

        在此之前,Oracle已經以74億美金的價格收購了Sun公司,獲得了Java商標和Java主導權。也收購了BEA公司,獲得市場份額的應用服務器Webogic。JavaEE6雖然是收購之后發布的版本,但主要的設計工作仍然由原Sun公司的Java專家完成。

        2011年7月,Oracle發布Java7,其中主要的特性是NIO2和Fork/Join并發包,盡管語言上沒有大的增強,但我個人認為,自從OracleJDK(包括OpenJDK7),Java虛擬機的穩定性真正做到的工業級,成為一個計算平臺而服務于全世界。

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

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

        按照原來的計劃,Java9應該在今年7月發布,但因為模塊化(JPMS)投票未通過的原因,推遲到今年9月份發布。

        JavaEE8也會在今年發布,預計的時間在8-10月。其中主要更新是Servlet4。0和CDI2。0,后者已經完成終規范的發布和投票。

        看了java的發展史,如果你對Java感興趣,歡迎咨詢粵嵌Java培訓了解更多詳情。




      免費預約試聽課

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

      
      

      1. 永久免费的污网站在线观看 | 女同精品久久国产字幕 | 亚洲精品高清一线久久 | 亚洲一区二区综合色精品 | 亚洲女初尝黑人巨高清 | 最新国产资源网在线 |