我是Java,這是我的2019年總結,請查收!
大家好!我是你們熱愛的Java,2019年過去了,按照慣例,我要做一下年終總結,說說這一年來發生在我身上的大事。
首先我高興地向大家宣布,我繼續在語言排行榜霸占第一的位置 !連續好幾年了,真是高處不勝寒啊。
你說別的排行榜上Python是第一?抱歉,我只看Tiobe排行榜,別拿別的榜來煩我,我不看我不看。
第二件事,2019年我又發布了兩個版本, JDK12 和 JDK 13。
它們增加了各種各樣讓人激動的新特性,相信你會喜歡的,比如switch表達式的增強,比如重新實現Socket API, 多行字符串等等。
- int numLetters = switch (day) {
- case MONDAY, FRIDAY, SUNDAY -> 6;
- case TUESDAY -> 7;
- case THURSDAY, SATURDAY -> 8;
- case WEDNESDAY -> 9;
- };
- String html = """
- <html>
- <body>
- <p>Hello, %s</p>
- </body>
- </html>""";
是不是很酷?都2020年了,可以考慮升級你那老掉牙的JDK8了啊!
什么?這些特性沒啥用?JDK 12, 13是短期支持版本? 那你可以考慮下長期支持的JDK 11,要么就等2021年的JDK 17了。
第三件事, 美國高等法院終于同意在2020年審理Oracle和Google的世紀訴訟了,我的API應不應該收到保護?你是支持Google還是Oracle,還是支持我呢?
這場扯了10年的官司終于要有一個了結了。 他們倆怎么不和解呢?不管如何,廣大Java程序員應該不會收到太大影響,IT產業的繼續發展的隆隆車輪不是誰都能阻擋的。
第四, Microsoft Love Linux, Micorsoft Love Java 。曾經想扼殺Java 的微軟居然加入了OpenJDK社區!
雖然出乎意料,但也是在情理之中。因為最近幾年,微軟轉型云計算,擁抱開源, 云端的服務器要運行Linux,Linux上還要跑Java應用,作為一個基礎設施提供商,必須得對Linux和Java有更深入的理解和掌控才可以。
微軟的云服務Azure 發展勢頭極好,2019年擊敗亞馬遜,贏得了一份五角大樓價值100億美元合同,在這種大背景下,將來一定會基于OpenJDK為自己的Azure定制一個JDK, 就像亞馬遜的Corretto, Azul Zulu那樣,讓我們拭目以待。
與此形成鮮明對比的是,藍色巨人IBM似乎和Java漸行漸遠,這個企業級Java的最大玩家,Eclipse IDE的發明者,幾乎所有產品線都基于Java技術的公司,要向云和AI做轉型了。
第五,Java EE正式宣告死亡,注意我說的是僅僅是名字,因為被Oracle拋棄以后,Java EE投入到Eclipse的懷抱,搖身一變,成為了Jakarta EE。
可是讓人遺憾的是:“邪惡”的Oracle后爹居然不讓Jakarta EE使用javax這樣的包名!因為Java是他們的注冊商標。但是,為了保持我們Java一直以來的好名聲:向后兼容性。
Oracle后爹同意:
1. 現在的javax相關的包還可以使用,但是不能做任何擴展和修改
2. 但是,新的功能需要放在新的包(例如jakarta)下面。
不過,對于程序員來講,影響似乎不大,因為Java EE那一套規范用得越來越少了,大家做個吃瓜群眾就好。
第六,JCP二十歲了! 實際上JCP成立于1998年的12月, 2018年12就年滿20歲了,整個2019年都有一系列的慶祝活動。
我對這個掌管著Java特性開發的組織是又愛又恨,一方面,所有的Java特性必須通過JSR的方式提交到JCP,討論,投票以后才能成為真正的規范。
另一方面,這個組織基本上被大公司所掌控,來自開源和個人的聲音很小,行動遲緩,JSR經過緩慢的流程以后,往往會和市場需求脫節,這和開源軟件的開發形成了極為鮮明的對比。
不過現在也算是有所改變,你看我每年都能發兩個JDK版本了!
2019年過去了,我一點兒都不懷念它!
祝大家2020一切順利!