你若看不懂,就是我的錯!
全文共計: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,但是我在服務器後端和手持設備上那是越來越流行啊,很多網站後臺都開始用我了。
持續輝煌
再到後來,我就越來越優秀,有一個編程排行榜每月都會對我們這些語言做排名,我可是常年穩坐冠軍寶座啊,不信我就截取最近的一個讓你看看我是不是第一。
我驕傲!~
以下是我這些年的成長經歷:
- 1995年5月23日,Java語言誕生
- 1996年1月,第一個JDK-JDK1.0誕生
- 1996年4月,10個最主要的操作系統供應商申明將在其產品中嵌入JAVA技術
- 1996年9月,約8.3萬個網頁應用了JAVA技術來製作
- 1997年2月18日,JDK1.1發佈
- 1997年4月2日,JavaOne會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄
- 1997年9月,JavaDeveloperConnection社區成員超過十萬
- 1998年2月,JDK1.1被下載超過2,000,000次
- 1998年12月8日,JAVA2企業平臺J2EE發佈
- 1999年6月,SUN公司發佈Java的三個版本:標準版(J2SE)、企業版(J2EE)和微型版(J2ME)
- 2000年5月8日,JDK1.3發佈
- 2000年5月29日,JDK1.4發佈
- 2001年6月5日,NOKIA宣佈,到2003年將出售1億部支持Java的手機
- 2001年9月24日,J2EE1.3發佈
- 2002年2月26日,J2SE1.4發佈,自此Java的計算能力有了大幅提升
- 2004年9月30日18:00PM,J2SE1.5發佈,成爲Java語言發展史上的又一里程碑。爲了表示該版本的重要性,J2SE1.5更名爲Java
SE 5.0 - 2005年6月,JavaOne大會召開,SUN公司公開Java SE
6。此時,Java的各種版本已經更名,以取消其中的數字“2”:J2EE更名爲Java EE,J2SE更名爲Java
SE,J2ME更名爲Java ME - 2006年12月,SUN公司發佈JRE6.0
- 2009年12月,SUN公司發佈Java EE 6
- 2010年11月,由於Oracle公司對於Java社羣的不友善,因此Apache揚言將退出JCP[14]
- 2011年7月28日,Oracle公司發佈Java SE 7
- 2014年3月18日,Oracle公司發表Java SE 8
- 2017年9月21日,Oracle公司發表Java SE 9
- 2018年3月21日,Oracle公司發表Java SE 10
- 2018年9月25日,Java SE 11發佈
關於原創作者
本文原創作者:慶哥小白
轉載請註明出處,微信公衆號開白請聯繫我微信H653836923
▼ 慶哥有一個夢想,寫一些能讓小白看得懂學得會的技術教程,幫助初學者更快的入門與進階,於是乎,在編碼之外開啓了逐夢之旅!關注公衆號,後臺回覆“慶哥”,2019最新java自學資源立馬送上!
長按二維碼識別關注!