文章來源:java極客技術
作者:鴨血粉絲
Hello 大家好,相信大家跟阿粉一樣,在成為卓越的Java 程式設計師的路上從未停止過學習,作為一個 Java 程式設計師還有很多我們需要學習的東西,特別是在這樣一個技術快速發展的時期可能昨天還在流行的技術,轉眼就已經落後了。那麼在 2021 年已經接近尾聲的時候有哪些技術我們可以繼續不斷的學習呢?
JDK 源碼毫無疑問作為Java 程式設計師 JDK 的源碼是我們一直需要不斷學習的一個技能。最新發布的版本是在今年 3 月份發布的 Java SE 16,前兩個較成熟的版本的 Java 11 和 Java 8,因為這兩個版本相對維護的時間會較長,屬於LTS(Long Time Support)。
對於我們開發者來說,日常工作的項目肯定是要在穩定版本上的,但是日常的學習就可以隨意發揮。通過閱讀優秀的人寫的代碼來提高我們自己的能力,附一張 Java 語言發布史。
從這張圖中我們可以看到Java 版本有四種類型,分別是舊版本,舊版本依舊維護,當前版本,未來版本。當前版本是Java SE16,未來會有 Java SE 17 和Java SE 18。而我們常用的 Java SE 8 和 Java SE 11 屬於兩個 LTS 雖然是舊版本但是依舊在維護。
另外我們可以知道 Java SE 17 將會是一個 LTS 版本,雖然還沒有發布,但是我們可以通過學習Java SE 16 來提前了解。
附上Java SE 16 的下載地址:https://www.oracle.com/java/technologies/javase-jdk16-downloads.html 大家可以自行選擇適配的作業系統進行下載學習。
RestFul Web Service近幾年 RestFul風格也較為流行,所謂 RestFul是一個設計風格,通過 URL 和HTTP 的動詞來表示要進行的操作。可能對於一些小夥伴來說只知道 HTTP 有 GET 和 POST 方法,其實 HTTP 的動詞除了這兩個常用的還有 PUT,PATCH,DELETE,對應的說明如下,其中 POST,DELETE,PUT,GET 對應的就是我們常說的總刪改查:
GET(SELECT):從伺服器取出資源(一項或多項)。PUT(UPDATE):在伺服器更新資源(客戶端提供改變後的完整資源)。PATCH(UPDATE):在伺服器更新資源(客戶端提供改變的屬性)。例如在進行 API 設計的時候,假設我們有個用戶管理的頁面需要設計 API,則我們可以設計如下 API
GET /users,GET /users/id:查詢用戶列表或者一個用戶信息;DELETE /users/id:刪除一個用戶信息;其中 id 代碼用戶編號,通過這種路徑參數的形式我們就實現了 RestFul 風格的設計,當然如果有多層關係我們可以繼續加路徑,比如要獲取某個班級的某個同學,則可以設計 GET /classes/1/student/2 表示要獲取 1 班學號為 2 的同學信息。Spring 目前是支持 RestFul風格的,可以直接使用路徑參數就行。
Spring Framework前面提到 Spring 支持路徑參數,Spring 作為Java 領域的優秀框架,我相信目前很多小夥伴應該都在使用,那如果在有時間和精力的情況下,再學習一下 Spring 的源碼,這樣不管在工作中還是面試中都會有很不錯的表現。
很多時候我們可以通過看別人寫的優秀的代碼來提高自己的代碼水平。像 Spring 這樣優秀框架代碼,很值得我們去深入研究一下。
Serveless 架構Serveless 架構可能很多小夥伴還沒聽過,而且很多小夥伴可能在日常工作中除了寫需求代碼之外還會涉及到伺服器的配置以及運維的工作。而在當下的雲原生時代,所有的這一切都可以交給雲伺服器廠商。
大數據開發身為Java 程式設計師很多時候我們可能都在寫一些業務代碼,沒有很多的數據量,但是這並不代表我們不需要學習大數據處理能力。雖然說大數據開發是專門一個領域,但是如果我們在工作中懂得這一部分的內容,那升職加薪不是你還會是誰呢?關於大數據相關的知識要學習的也有很多,涉及到的主要是計算和存儲。技術點有很多,像 Hadoop,MapReduce,HDFS 這些都是很經典的基石。而像這兩年比較火的 Flink 以及 Clickhouse 都是很不錯的技術,感興趣的小夥伴都可以嘗試去學習一下,雖然工作中不一定會用到,但是日常學習還是很不錯的。
機器學習/深度學習最後一個機器學習以及深度學習這塊的內容大家可以作為擴展知識去學習了解,這塊的內容說真的難度還是蠻高的,但是可以知道是一直是未來方向,而且這一塊的工資比普通的開發工程師高很多。如果是剛畢業的同學對這塊感興趣的話可以考慮從事這方便的學習,那如果是已經工作幾年了小夥伴想往這個方向轉的話,可以需要好好學習一下,或者報個培訓班都是可以的。
除了上面提到的這幾點我們可以去深入學習,其實還有很多,比如現在很火的可穿戴設備,自動駕駛,DevOps,雲計算 等等。不得不說程式設計師這一行要學習的東西太多了,想要不被淘汰與時俱進,持續學習是不變的道理。
-End-可樂記得加冰,愛我就要置頂 素質三連biubiubiu~