Java的前世今生 "我的個人博客" "本文視屏" 前言 這一期來講故事 你說為啥這杯咖啡能喝這麼多年還這麼香 讓我們一起來看看這杯咖啡的魔力 現如今一提到 Java開發 就完完全全是spring的事情 一談學習就是 springboot springcloud 好像沒有什麼事情是spring全家桶 ...
Java的前世今生
前言
這一期來講故事 你說為啥這杯咖啡能喝這麼多年還這麼香 讓我們一起來看看這杯咖啡的魔力
現如今一提到 Java開發 就完完全全是spring的事情 一談學習就是 springboot springcloud 好像沒有什麼事情是spring全家桶不能一把梭哈的 很多人就覺得這個Java很單一 很枯燥
Java真的就只能是服務端開發嗎 讓我們來捋一捋這個Java的前世今生
首先是太陽公司
SUN公司介紹
SUN公司是從斯坦福大學孵化器出的高科技公司 是當時互聯網裡面的老大, GoogleCEO埃里克.施密特和首任工程部副總裁韋恩.羅森(Wayne Rosen) 從這裡出去的
時間來到1991
(詹姆斯·高斯林)James Gosling 大家習慣稱他為高司令 Java之父 當時高司令著手一個名叫Green的項目 專攻電腦在家電產品上的嵌入式應用(電視機頂盒、麵包烤箱、行動電話)
當時選用的是c++ C++程式過於複雜和龐大 但是嵌入式的產品性能差 種類多, 所以需要新的跨平臺的 簡潔的開發語言 隨後便開發了Oak(橡樹)語言 這就是 Java 語言的前身。
由於當時並不被硬體生產商認同 所以Oak並沒有掀起大風大浪
時間來到 1995年
互聯網的快速發展給了Oak機會 因為Oak的小巧 Sun公司首先推出了可以嵌入網頁並且快速在網路上傳輸的Applet 非常適合網路傳播
隨後 各大公司競相購買了Java使用許可證
申請註冊商標時,發現Oak已經被人使用了,然後他們正在咖啡館喝Java咖啡,靈機一動Oak語言改名為Java
Java吸收C++ 的很多優點 精簡了很多東西(還摒棄了C++ 里難以理解的多繼承、指針等概念) 當時被人稱為 C++-
這一年的5月23日Java 1.0版本正式在SunWorld大會上發佈 喊出了"Write Once,Run Anywhere"的口號 體現了其跨平臺的特性
時間來到 1996 年
這一年的1月23日正式發佈了JDK1.0。這個版本包括了兩部分:運行環境(即JRE)
和開發環境(即JDK)。 這個時候java才能真正的用來編寫軟體
版本號 | 名稱 | 中文名 | 發佈日期 |
---|---|---|---|
JDK 1.1.4 | Sparkler | 寶石 | 1997-09-12 |
JDK 1.1.5 | Pumpkin | 南瓜 | 1997-12-13 |
JDK 1.1.6 | Abigail | 阿比蓋爾--女子名 | 1998-04-24 |
JDK 1.1.7 | Brutus | 布魯圖--古羅馬政治家和將軍 | 1998-09-28 |
JDK 1.1.8 | Chelsea | 切爾西--城市名 | 1999-04-08 |
J2SE 1.2 | Playground | 運動場 | 1998-12-04 |
J2SE 1.2.1 | none | 無 | 1999-03-30 |
J2SE 1.2.2 | Cricket | 蟋蟀 | 1999-07-08 |
J2SE 1.3 | Kestrel | 美洲紅隼 | 2000-05-08 |
J2SE 1.3.1 | Ladybird | 瓢蟲 | 2001-05-17 |
J2SE 1.4.0 | Merlin | 灰背隼 | 2002-02-13 |
J2SE 1.4.1 | grasshopper | 蚱蜢 | 2002-09-16 |
J2SE 1.4.2 | Mantis | 螳螂 | 2003-06-26 |
J2SE 5.0 (1.5.0) | Tiger | 老虎 | 2004-10 |
J2SE 6.0/1.6 (Beta) | Mustang | 野馬 | 2006-04 |
Java SE 7.0 / 1.7 | Dolphin | 海豚 | 2011-07-28 |
Java SE 8.0 / 1.8 | Spider | 蜘蛛 | 2014-03-18 |
Java SE 9.0 | 2017-09-21 | ||
Java SE 10.0 | 2018-03-21 | ||
Java SE 11.0 | 2018-09-25 | ||
JAVA 12 | 2019-03-19 |
這一年5月底,Sun公司於美國舊金山舉行了首屆JavaOne大會,從此JavaOne成為全世界數百萬Java開發者的盛會
這一年 Sun和IBM聯手創建了用於嵌入式系統的Java OS 這個東西你在網上資料都查不到 註定是失敗的
時間來到1998 年
JDK1.2 發佈,Java 技術體系被拆分為 J2SE、J2EE、J2ME 三大體系
大家可能對這個 J2ME 不是很熟悉 是為機頂盒、行動電話和PDA之類嵌入式消費電子設備提供的Java語言平臺,包括虛擬機和一系列標準化的Java API 比如當時手機裡面的 Java小軟體 小游戲
這也是我對Java的興趣的起始 每次看到 屏幕上的 咖啡標誌都非常親切 通宵通宵的玩國產rpg游戲
時間來到2004 年
Spring1.0 框架迅速發展 Spring 2.0 於 2006 年 10 月發佈
時間來到2006年
這一年的12月11日 JDK 1.6發佈
Sun終結了從JDK 1.2開始已經有8年曆史的J2EE、J2SE、J2ME的命名方式,啟用Java SE 、Java EE 、Java ME 的命名方式
JAVA在桌面軟體也是有一腿的 最開始的AWT 到後來佈局讓人非常頭疼的 swing 把swing發揮到極致的是IDEA是吧 swing這東西的ui界面 大家大一的Java基礎課時候應該是見識過的 非常的難搞 最近這幾年很多的搶購軟體還在用這個編寫
雖然後來 JavaFx 有了很多的提升 但是Java 在GUI這個方面是真的不太行
2009 年
Sun 公司因為經營不善被 Oracle 公司收購 曾經的老大被提供資料庫服務的收購了 互聯網 真的是變化莫測
當Java程式員開發web的時候還是使用 Servlet out.println
一個一個列印 網頁片段進行拼接的時候 PHP .NET 已經可以使用模板頁面了 導致一部分web開發的java程式員轉向 php的懷抱 由此 JSP誕生了 JSP雖然原則上還是編譯為Servlet 但是情況就好的多了 隨後bootstrap
和jquery
成了JavaWeb開發的伴侶 現在很多老項目的維護 都是它們的身影
2011 年,Java SE 7.0 發佈。 2014年3月18日,Java SE 8.0 發佈
這仍然是當前占有率最高的 JDK版本
時間回到幾年前
這個時候 市場已經從 ssh 轉向 ssm 但是開發模式還是沒有變化 配置麻煩 故障率高 會偷懶的碼農 都是用別人的腳手架 可以說 springboot 就是個高級的腳手架
也在這個同一時期
這個時候原生Android開發 如日中天 當時Android培訓就像現在的javaweb培訓一樣火熱 寫 xml 的碼農 就像現在寫springboot的碼農一樣多 再後來過渡飽和加上移動平臺的相對穩定 一大部分人尋求出路 Android原生開發可以說是我當時對Java的學習熱情的主要來源 試問哪個程式員沒有中二的一段時間 想做點自己的東西呢?
現在 springboot 開發真的非常方便 開箱即用 幾個註解就能快速開始開發
最後說些話
Java經久不衰,當時也肯定不可能一直火下去,會不斷有新語言出現並替代
無論什麼語言、什麼框架,都只不過是需求的最終落地而已,我們搞技術的需要做的事情就是把老闆的需求變現,判斷還是那個判斷,迴圈還是那個迴圈
無論語言怎麼變化,我們所掌握的數據結構和演算法才是經久不衰的,這也是為什麼每個程式員都要重視的原因
不同的語言有不同的特點,沒有必要去爭論誰才是最好的,我自己覺得只有最適合的,沒有最好的
比如說現在php仍然是網頁快速落地的好方案,要是你對一個正在使用php的公司說2020年了還在用php,為啥不上Java?
這隻能說明你的愚昧,寫代碼的人老是覺得自己會的是最牛逼的,老闆會覺得能快速實現業務的最好的,這也就是你和老闆的差距,你可能覺得老闆愚昧不如你,但是他是老闆,你是員工,他就是比你厲害
如果你非要覺得自己厲害,你完全可以嘗試改變一下自己的角色,最後會發現,自己也僅僅就是會敲點代碼而已