国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java語言十五講(前言)

endless_road / 1256人閱讀

摘要:發布史年月日,公司正式發布語言,這一天是的生日。年月日,發布,成為語言發展史上的又一里程碑。年月,發布,三個版本分別改為,,,。年月日,以億美元收購公司,并取得了的版權。年月日,發布,并改用的命名方式。

特此聲明:本文為本人公司郭總原創書籍的前言,該書還未出版,作為該書籍的初版在接下來的時間里,將免費在本人微信公眾號內不間斷更新與大家一起學習閱讀。喜歡學習的小伙伴可以搜索微信公眾號:程序員Hotel 或者在文末處微信掃描二維碼識別關注

前言

每年技術媒體都會評選最受歡迎的編程語言,Java總是高居前位。自然,沒有辦法說一個語言絕對比另一種語言好,這個話題一如既往地會引起大家無謂的爭論不休。對別的行業的人來講也許會覺得莫名其妙,但是對我們程序員來講,捍衛某種語言是一件很動感情的事情。就跟捍衛自己的母校一樣,只能自己說不好,別人不能說不好的。

Java從正式出生以來(1995.05.23),已經過了24年時間了,它現在仍在全世界廣泛被使用,擁有大量程序員和工作機會,這一個事實毫無疑義地證明了Java的成功。

但是,大家切記的是,討論Java,不能當它只是一門編程語言,它還是一個平臺,同時是一個生態。我二十多年前在Sun公司技術研發中心的時候,一個工作任務之一就是告訴大家Java不僅僅是一門語言。我們的技術總監曾經說,如果一定要認為Java是一門語言,可以說“Java是服務端的語言”。我把這個歷史說出來,就是讓大家在學習語言的時候記住Java有其更加廣泛的空間。

不過,本系列講座又確實主要從語言本身的層面介紹Java。針對的對象是初步了解Java語言的程序員,如本專業的大學畢業生或者是從事編程工作一年時間的程序員們。希望對Java語言有一個進階的理解。

就跟世界上任何自然語言一樣,人為發明約定的編程語言也是不斷與時皆進的。從一個嬰兒慢慢長大成人。

我本人曾經身在Sun Java團隊之中,雖然沒有為Java發展做出什么貢獻,沒有開辟新大陸,就像是一個跟隨哥倫布船隊的小船員,也是見證了一段歷史。但是對新大陸熱愛的心卻一直在澎拜。希望這個系列講座為Java布道,對后來的年輕人能有所幫助。

我們來看看Java的成長歷史。

Java前傳

1990年,Sun公司啟動“Green計劃”,旨在開發智能家電的嵌入式控制系統。

1991年,Green項目組發現家用設備太多樣化,C++移植過于繁瑣,無法統一編程,Gosling決定開發一種新的可移植語言,開頭想叫C-,后來命名為“Oak”。名字來自于辦公室窗口的一棵樹。

1994年,Gosling將Oak更名為Java,名字來自于工作間隙Gosling去飲水機沖咖啡時候的一閃念。接著團隊完成JVM實現,完成第一個Java編譯器,完成Java實現的瀏覽器WebRunner(后來的HotJava)。這個團隊總共三個人。

這就是創世時刻的樣子。

Java發布史

1995年5月23日,Sun公司正式發布Java語言,這一天是JAVA的生日。

1996年,JDK1.0發布,這是重要里程碑,標志著它成為一種獨立的開發工具。在1996年5月底,Sun公司于美國舊金山舉行了首屆JavaOne大會,這成為歷史上傳統的經典盛會。

1998年12月,第二代Java平臺的企業版J2EE發布。

1999年6月,Java2被分成三個版本:J2SE(標準版)、J2EE(企業版)、J2ME(微型版),有一個重要的里程碑,標志著Java的應用開始普及。

2001年9月24日,J2EE1.3發布。

2002年2月,J2SE1.4發布,各種開源框架大量出現。

2004年9月30日18:00PM,J2SE1.5發布,成為java語言發展史上的又一里程碑。

2005年6月,Java SE 6.0發布,三個版本分別改為:JavaSE, JavaEE,, JavaME。

2009年4月20日,Oracle以74億美元收購Sun公司,并取得了Java的版權。

2011年7月,JavaSE7發布。

2014年3月,JavaSE8發布。

Java特性演化史

1996年,JDK 1.0主要包括的特性:Applet、AWT等。在網頁上動態變換的小動畫震驚了整個Internet技術圈。

1997年,JDK 1.1,引入了一些后來常用的技術點,如:JAR文件格式、JDBC、JavaBeans、RMI,Inner Class和Reflection。

1998年12月4日,史詩巨獻的JDK 1.2發布,包含的主要技術,如EJB、Java Plug-in、Java IDL、Swing等以及后來常用的Collections集合類。

2000年中,JDK 1.3發布,主要改進和引入了一些類庫上,如數學運算和新的Timer API,JNDI服務,CORBA IIOP,Java 2D。

2002年,JDK 1.4發布,標志著Java的成熟,引入了一些新技術特性,如正則表達式、NIO、日志類、XML解析器等。

2004年,JDK 1.5發布,改進包括了自動裝箱、泛型、動態注解、枚舉、可變長參數、foreach循環,還提供了java.util.concurrent并發包等。

2006年12月11日,JDK 1.6發布,并改用Java SE 6、Java EE 6、Java ME 6的命名方式。重大的改進包括動態語言支持、提供編譯API等。虛擬機層面,包括鎖與同步、垃圾收集、類加載等方面的算法都有很多改動。

后來,由于經濟危機和收購案,Java發展遇到諸多挫折,Java7難產。

2011年Oracle發布的Java7采用了B計劃,沒有按照原先的設計推出。重要的改進包含:動態類型語言在 JVM 上的執行效率得到大幅提升,G1 垃圾回收器性能, 主要用于 Server 端,核心類庫改進: ClassLoader, URLClassLoader, Concurrent, i18n

2014年,發布Java8,主要的改進終于引入了Lambda表達式。

歷史評價

Java是一個劃時代的跨平臺產品,這個最基礎最根本的設計初衷已經完全達到;

Java衍生出來的框架及其生態是世界上最成功的技術平臺之一,這一點超出了設計初衷;

Java最功敗垂成的設計是EJB,這是Java企業版本中最重大最著力的技術革新,由于設計和實現的復雜,推廣困難,被悉尼大學的Rod Johnson這個音樂學博士單槍匹馬挑下馬,最后完敗于輕量級框架。

Java是Sun公司及James Gosling對人類的偉大貢獻,而沒有獲取到什么利益。

本系列講座,我打算講十五個主題:

主題 1 - Generic Programming

1.1 Generic Class

1.2 Generc Methods

1.3 Bounds & Wildcard Types

1.4 Ceneric Code & VM

1.5 Reflection and Generics

主題 2 - Reflection

主題 3 - Proxy

主題 4 - ClassLoader

主題 5 - Inner Class

主題 6 - Event

6.1 Event Object

6.2 Actions

6.3 Event Handling

主題 7 - Exception

7.1 Exception

7.2 Assertion

7.3 Logging

7.4 Debugging

主題 8 - RE

主題 9 - Multi-Thread

9.1 Threads

9.2 Synchornization

9.3 Thread-Safe Collections

9.4 Executors

主題 10 - Collections

10.1 Interfaces

10.2 Collections

10.3 Framwork

10.4 Algorithms

主題 11 - IO

11.1 Streams

11.2 Text

11.3 Binary Data

11.4 Files

主題 12 - Network

12.1 Sockets

12.2 Implementing Servers

12.3 Web

12.4 E-Mail

主題 13 - Enum

主題 14 - Annotation

主題 15 - Script

編程,不僅僅是學,還是做,說到底是一個手工藝活兒。曾經有好些入門的年輕人問我如何編得一手好程序?我的回答總是“無他無他,惟手熟爾。”要想提高編程水平,唯一的方法就是動手去編。只要結合“眼”“腦””手”三者,不斷學,不斷想,不斷做,就能大有成效。堅持兩三年,邁上一個嶄新的臺階,到了那時,定會體會到“雖人不我知,而胸中自有溝壑”的美妙境界。

荀子云:學不可以已。

原創書籍目錄傳送門:《Java十五講》

微信掃描下方二維碼(微信公眾號:程序員Hotel),?更多優質資源及優質文章及時獲取,請大家多多支持哦!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73995.html

相關文章

  • 《On Java 8》中文版,又名《Java 編程思想》中文第五版

    摘要:基于版本基于版本。由于中英行文差異,完全的逐字逐句翻譯會很冗余啰嗦。譯者在翻譯中同時參考了谷歌百度有道翻譯的譯文以及編程思想第四版中文版的部分內容對其翻譯死板,生造名詞,語言精煉度差問題進行規避和改正。 來源:LingCoder/OnJava8 主譯: LingCoder 參譯: LortSir 校對:nickChenyx E-mail: 本書原作者為 [美] Bru...

    BingqiChen 評論0 收藏0
  • 【數據結構_浙江大學MOOC】第三四五講

    摘要:然而,一棵給定的二叉搜索樹卻可以由多種不同的插入序列得到。輸出格式對每一組需要檢查的序列,如果其生成的二叉搜索樹跟對應的初始序列生成的一樣,輸出,否則輸出。 本篇為關于樹的編程題,給出編譯器 C++(g++)的解答。主要記錄題意理解和代碼學習過程。 1 樹的同構 題目 給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是同構的。例如圖1給出的兩棵樹就是...

    happyfish 評論0 收藏0
  • 爬蟲入門到精通-網頁的解析(xpath)

    摘要:起初的提出的初衷是將其作為一個通用的介于與間的語法模型。的基本使用要使用我們需要下載,在爬蟲入門到精通環境的搭建這一章也說明怎么裝,如果還沒有安裝的話,那就去下載安裝吧直接看代碼實戰吧。 本文章屬于爬蟲入門到精通系統教程第六講 在爬蟲入門到精通第五講中,我們了解了如何用正則表達式去抓取我們想要的內容.這一章我們來學習如何更加簡單的來獲取我們想要的內容. xpath的解釋 XPath即為...

    ispring 評論0 收藏0
  • JAVA筆記 - 收藏集 - 掘金

    摘要:動態代理個經紀人如何代理個明星掘金在代理模式女朋友這么漂亮,你缺經紀人嗎中我們用寶強的例子介紹了靜態代理模式的概念。掘金使用從頭創建一個,這種方法比較簡單。 動態代理:1 個經紀人如何代理 N 個明星 - Android - 掘金在 代理模式:女朋友這么漂亮,你缺經紀人嗎? 中我們用寶強的例子介紹了靜態代理模式的概念。 本來我的目的是通過大家耳熟能詳的例子來加深理解,但是有些網友指責...

    kamushin233 評論0 收藏0
  • SpringBoot 實戰 (十五) | 服務端參數校驗之一

    摘要:前言估計很多朋友都認為參數校驗是客戶端的職責,不關服務端的事。輕則導致服務器宕機,重則泄露數據。所以,這時就需要設置第二道關卡,服務端驗證了。老項目的服務端校驗不能為空不能為空看以上代碼,就一個的校驗就如此麻煩。 前言 估計很多朋友都認為參數校驗是客戶端的職責,不關服務端的事。其實這是錯誤的,學過 Web 安全的都知道,客戶端的驗證只是第一道關卡。它的參數驗證并不是安全的,一旦被有心人...

    QiShare 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<