原創《小白的Java自學課》第二課:昨天深夜,Java向我講述了它的陳年往事,沒想到是這樣的!

在這裏插入圖片描述
你若看不懂,就是我的錯!

全文共計:5369字
預計閱讀:6分鐘

昨天深夜,Java向我講述了它的陳年往事,沒想到你竟然是這樣的java!以下是java本人的自述!

大家好,我是java,就是你們經常說的“一次編譯,到處運行”的那門高級編程語言,可是除此之外,你們又瞭解我多少呢?

很多人都知道我叫java,但是嘞,俺最初的時候並不是叫java的,有人知道俺剛開始叫啥嘛?先不告訴你!

介紹高爸爸

在正式開始自我介紹之前,我想先介紹自己的“爸爸”給你們認識,誰呢?就是下面這位:

在這裏插入圖片描述
爲啥介紹他嘞,爲啥管他叫爸爸嘞,因爲沒有他自然也就沒有我,是它把我創造出來的,是他有機會讓我來到這個世界上的,所以他對我很重要的,另外,你們這些要學習我的同學們可一定要記住他啊,他可是你們的祖師爺啊!

當初高爸爸把握創造出來,期間也是有很多故事的,且聽我慢慢道來!

sun公司

高爸爸當時就職於sun公司,sun公司是Stanford University Network的縮寫,也就是斯坦福大學網絡,這是個啥嘞,其實就是當時斯坦福大學的一個校企合辦企業,你看看,人家大學多厲害,一個校辦企業就是這麼出名。

對了,對於sun公司,它在臺灣地區被稱爲昇陽電腦,而在你們大陸啊,它則被稱爲太陽計算機系統,它是在1982年2月24日創建的,我當時就在想,要是在2月14,那不就是情人節了嘛,在1986年的時候它就在美國納斯達克上市了,不過後來它被甲骨文公司收購了,結束了長達27餘年的公司歷史,當然,我也換了新家!

我最初不叫java叫Oak

其實吧,俺最初的名字是叫Oak的,並不是現在的java,這是咋回事呢?

sun公司瞅準了家用電器行業

當時啊,sun公司發現,在未來,我們的科技將會在家用電器行業大放異彩,會被派上大用場的,於是,sun公司就想趕緊搶佔這個市場。

既然決定要做這件事情,那就開幹吧,當時就有了一個團隊,專門搞這個,可能有人不太理解當時的家用電器行業是咋回事,其實說白了不就是電視機機頂盒啊,電話和鬧鐘這些家用電器吧,準備搞程序去控制這些玩意嘞!

既然要搞程序,那用啥語言平臺去搞呢?這在當時也是一個問題啊!

準備用C++

剛開始嘞,團隊成員想使用C++語言(辛虧沒有使用,如果使用了,那不就沒有我了嘛),不過後來放棄了,爲啥要放棄嘞,難道是C++不好用嗎?

還真是的 ,對他們來說 ,C++和它可以用的一些API在某些方面存在很大問題 ,於是就沒用,啥?你不知道啥是API,沒事,你不用知道啥是API,你就知道,他們覺得C++不好用就行了。

爲啥放棄C++

啥?你就想知道C++爲啥不好用是吧!好吧,那我就告訴你(總覺得這樣不好,畢竟我跟C++是好朋友)

我記得,之前啊,誰說過一句這樣的話

“C++既難學又難用”

唉,怎麼能這樣說C++,我都替它打抱不平,那當時sun公司的團隊爲啥不用C++呢 ?那是因爲這個團隊使用的是嵌入系統,嵌入式系統的資源是有限的 ,這個團隊的程序員覺得C++有點複雜,很多開發者經常用錯(是你太笨了吧,哈哈),而且他們覺得C++缺少一個重要的功能就是垃圾回收系統(哈哈,這點我要吹一下啦,俺可是有垃圾回收系統的,這是俺的一大亮點,俺驕傲)

那啥是垃圾回收系統啊,我想你肯定會問的,讓我想想該怎麼給你解釋吧!

嗯嗯,你看啊,比如說一個籃子裏,放了很多水果,如果水果壞了就不能吃了 ,就需要把壞的儘早扔掉 ,爲啥?它不能吃了 還放在那,佔地方啊,如果有了垃圾回收系統 ,一旦有了壞蘋果 ,這個籃子就會把壞掉的蘋果“biu”的一聲彈出去,高級不,垃圾回收系統就是這麼高級,那如果沒有垃圾回收系統呢 那你就得翻翻找找,看哪個壞了 ,然後自己動手把它拿出來扔掉。

怎麼樣,知道什麼是垃圾回收系統了吧,反正是個非常牛X的功能,C++竟然沒這個功能,不好用。

ps:垃圾回收簡單說就是可以針對內存做自動的回收,不需要手動釋放內存。

而且除此之外,這個團隊成員還覺得C++缺少可移植的安全性,分佈式啊,多線程啊這些功能,唉當你不喜歡一個人的時候,咋看咋不順眼啊,你們就這麼不喜歡我的老朋友C++嗎?

沒辦法,他們想要一個可以很方便移植到各種設備上的平臺 ,這可咋整,沒辦法 ,只能從0到1 ,咱自己搞唄!

自研新的平臺

既然C++不好用,大家都不滿意,其他也沒有好的替代,於是大家決定準備自己搞一個出來,最初嘞,團隊的一個成員準備將C語言和Mesa語言相結合,從而製造出一種新的語言,這種語言被叫做“未來” ,聽着還挺有科技感的。

ps:這裏你即使對C語言和Mesa語言不懂也沒關係,你就需要知道他倆是語言,他倆結合要搞出一個新的語言,不過以後,你肯定會知道C語言的。

不過後來呢?我的高爸爸決定修改和擴展C++的功能,希望藉此能產生一種新的語言,當時高爸爸叫它C++ ++ --,後來高爸爸告訴我這件事情的時候,我就在想,高爸爸還真的是聰明絕頂啊,這樣的名字都能想出來,哈哈。

不過後來高爸爸放棄了,當然得放棄啊,不放棄哪還有我的事啊。

放棄了不可能就不幹了啊,高爸爸決定設計一種全新的語言(哈哈,這就是俺啦) 被他命名爲Oak ,也就是橡樹的意思,我當時就疑惑,爲啥給我叫這個名字啊?原來高爸爸說他的辦公室外面有橡樹,唉,這麼隨意的嗎?就不能好好的給俺起個名字嗎?

展示新的語言平臺

然後團隊成員就開幹啊,爲了把我帶到這個世界上,他們真的很辛苦。一直幹到了1993年的夏天,這個時候我就有了基本的樣子啦,我也能將自己的一部分給展示出來了,哈哈,終於來到這個世界上啦,不禁想說:

hello world

然後我就在一種叫做類PDA的設備上開始簡單的展示我自己,因爲有我的存在,當時這臺設備被命名爲Star7,這種設備有鮮豔的圖形界面,再加上我提供的功能,更高級了,於是,在1992年12月3日,我隨着這臺設備進行了展示。

好啦,我已經初步亮相啦,這個時候,當初把我創造出來的團隊搖身一變成了sun公司的一個子公司,然後就去搞家用電器這塊 。

不過很可惜的是,在一次電視機頂盒的投標中失敗了,爲啥?人家覺得用我去控制家用電器的話給予用戶的控制權太多了,更遺憾的是當時其他機頂盒的交易也都失敗了,沒辦法,這個公司無法盈利,最後不得已就又並回到sun了。說真的,我當時挺自責的,都怪自己不夠優秀!

進軍互聯網企業

sun公司因爲我當時並沒有在家用電器這個市場達到預期 ,於是就放棄了讓我去做家用電器的計劃,當時覺得自己被拋棄了,好藍瘦!

不過後來,我又重新站起來啦,咋回事嘞,當時還是要感謝互聯網的興起,那是在1990年代,因爲互聯網的到來,sun公司覺得這是個機會,我可以在互聯網領域試試水,既然我在家用電器行業不適合,那就去闖闖互聯網領域。

這其實也是sun公司當時看到了互聯網的前景 ,一片光明啊,必須趕緊搶佔市場 ,於是乎,高爸爸他們又趕緊把我進行了改造。

爲啥要改造啊,想想也是,我之前被創造出來是爲了用在家用電器,現在要用在互聯網了,那多少有點不一樣啊,所以改造改造還是很有必要的,其實我是很願意被改造的,這樣的話我就會變得更加優秀。

於是,高爸爸他們就抓緊趕工,然後我就煥然一新了,現在的我可是更加優秀了,而且我馬上是要應用到互聯網的,所以sun公司就想着把我給註冊了,可是去註冊的時候發現跟別人重名了,已經有人叫Oak了,唉,沒想到,這名字還早就被人交了,還挺搶手的啊。

沒辦法,我現在不能叫Oak了, 你說說,高爸爸,你要是之前好好給我起個名字,現在哪還會有這事,不不不,我能不能埋怨你,畢竟是你把我創造出來的。

改名迫在眉睫

咋弄,現在最重要的就是趕緊給我起個新名字了,當時大家商量決定開一個命名徵集大會,這件事情很着急的,因爲沒有一個合適的名字,我將不能很快的與大衆正式見面啊,於是,大家都集思廣益開始給我起名字。

在這個大會上,大家提出了很多的名字,然後大家評選投票,做了一個排序。

當時排在第一位的是一個叫做Silk的名字,也就是絲綢的意思,我是覺得這個名字挺好聽的,讓我叫這個名字可以的接受的,可是嘞,儘管當時很多人都可覺得這個名字不錯,包括我覺得也不賴,但是嘞,我的高爸爸卻堅持反對這個名字,我也不知道爲啥,可能他不喜歡,我也沒辦法。

然後排在第二第三的好像也都跟別人重名了,這個時候只有排在第四位的得到了所有人的認可,而且還沒有商標重名,那就是我現在的名字“java”啦。

爲啥會叫java

後來我問高爸爸,爲啥會想起這個名字呢?高爸爸說,當時這個名字是馬克 奧頗門(Mark Opperman)提出來的,好像是因爲他在一家咖啡店與朋友喝咖啡時得到的靈感。

爲啥喝咖啡能有這靈感,後來我才知道:

Java是印度尼西亞爪哇島的英文名稱,因盛產咖啡而聞名

而且當時在國外很多咖啡店就用java來命名(沒註冊)和宣傳,藉此彰顯其咖啡的品質,所以這個名字好記而且好聽,於是乎,大家都同意,我也就正式叫“java”了。

ps:Java語言中的許多庫類名稱,多與咖啡有關:如JavaBeans(咖啡豆)、NetBeans(網絡豆)以及ObjectBeans(對象豆)等等。SUN和JAVA的標識也正是一杯正冒着熱氣的咖啡。,另外,當使用十六進制編輯器打開由Java源代碼編譯出的二進制文件(.class文件)的話,最前面的32位將顯示爲CA FE BA BE,即詞組“CAFE BABE”(咖啡屋寶貝)。

從此我也有了個好看的圖標,你看,就是這樣:

在這裏插入圖片描述
於是,在1995年5月我以java的名稱正式發佈!

在互聯網中嶄露頭角

在我以java這個名字正式發佈之前,當時團隊成員使用我寫了一個小型的萬維網瀏覽器,叫做WebRunner ,後來改名HotJava。

當時我和這個HotJava一起在sun公司高管面前做了自我介紹,對了當時我的java1.0a版本是可以下載的了,在1995年3月23日的SunWorld大會上,我和HotJava第一次公開發布,當時網景公司決定在他們的瀏覽器中使用我,當時我別提多高興了。

然後在1996年1月的時候,sun公司就專門成立了一個業務集團,哈哈,這是專門伺候我的。

另闢蹊徑

不過後來沒過幾年,我就遭受了一些打擊,我當時在瀏覽器中的地位被一個叫做Flash的傢伙給搶佔了,唉,這塊窮不如他,而且,當時我也被微軟公司強烈反對,微軟竟然宣佈在他們的新版本的Internet Explorer和Windows中不再附帶我。 切 現在IE沒人用了吧。

但是,沒辦法,雖然在瀏覽器中我不如Flash,但是我在服務器後端和手持設備上那是越來越流行啊,很多網站後臺都開始用我了。

持續輝煌

再到後來,我就越來越優秀,有一個編程排行榜每月都會對我們這些語言做排名,我可是常年穩坐冠軍寶座啊,不信我就截取最近的一個讓你看看我是不是第一。

在這裏插入圖片描述
我驕傲!~

以下是我這些年的成長經歷:

  1. 1995年5月23日,Java語言誕生
  2. 1996年1月,第一個JDK-JDK1.0誕生
  3. 1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
  4. 1996年9月,約8.3萬個網頁應用了JAVA技術來製作
  5. 1997年2月18日,JDK1.1發佈
  6. 1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
  7. 1997年9月,JavaDeveloperConnection社區成員超過十萬
  8. 1998年2月,JDK1.1被下載超過2,000,000次
  9. 1998年12月8日,JAVA2企業平臺J2EE發佈
  10. 1999年6月,SUN公司發佈Java的三個版本:標準版(J2SE)、企業版(J2EE)和微型版(J2ME)
  11. 2000年5月8日,JDK1.3發佈
  12. 2000年5月29日,JDK1.4發佈
  13. 2001年6月5日,NOKIA宣佈,到2003年將出售1億部支持Java的手機
  14. 2001年9月24日,J2EE1.3發佈
  15. 2002年2月26日,J2SE1.4發佈,自此Java的計算能力有了大幅提升
  16. 2004年9月30日18:00PM,J2SE1.5發佈,成爲Java語言發展史上的又一里程碑。爲了表示該版本的重要性,J2SE1.5更名爲Java
    SE 5.0
  17. 2005年6月,JavaOne大會召開,SUN公司公開Java SE
    6。此時,Java的各種版本已經更名,以取消其中的數字“2”:J2EE更名爲Java EE,J2SE更名爲Java
    SE,J2ME更名爲Java ME
  18. 2006年12月,SUN公司發佈JRE6.0
  19. 2009年12月,SUN公司發佈Java EE 6
  20. 2010年11月,由於Oracle公司對於Java社羣的不友善,因此Apache揚言將退出JCP[14]
  21. 2011年7月28日,Oracle公司發佈Java SE 7
  22. 2014年3月18日,Oracle公司發表Java SE 8
  23. 2017年9月21日,Oracle公司發表Java SE 9
  24. 2018年3月21日,Oracle公司發表Java SE 10
  25. 2018年9月25日,Java SE 11發佈

關於原創作者

本文原創作者:慶哥小白
轉載請註明出處,微信公衆號開白請聯繫我微信H653836923

▼ 慶哥有一個夢想,寫一些能讓小白看得懂學得會的技術教程,幫助初學者更快的入門與進階,於是乎,在編碼之外開啓了逐夢之旅!關注公衆號,後臺回覆“慶哥”,2019最新java自學資源立馬送上!

在這裏插入圖片描述

長按二維碼識別關注!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章