2020 年 Java 程序員應該學習什麼?

你們好,我相信你們在新的一年都有一個良好的開端,並準備好制定一個提高自我技術的目標。做爲 Java 開發人員,我還制定了一些目標,但願在今年成爲一名更好的 Java 開發人員。java

若是你還沒有制定目標,這將幫助你制定 2020 年的目標。做爲一名程序員,咱們面臨的最大挑戰是使本身保持不斷學習的狀態。技術變化很是快,每兩年你就會看到新版本的編程語言和框架。程序員

今年也有不少的變化,每 6 個月更新一次 Java 新版本、Spring 五、Spring Security 5 和 Spring Boot 2,對於 Java 開發人員而言,這多是最繁忙的一年。web

2019 年的時候,我覺得 Java 11 是新的,在我沒法徹底學習 Java 11 以前,Java 12 和 Java 13 已經爲咱們準備好了。自 JDK 9 以來,全部這些 Java 版本都具備許多使人興奮的功能,例如文本塊(多行字符串),switch 表達式,局部變量的 var,API 加強,GC 改進,線程本地握手(機制優化)等,我真的很高興能在 2020 年學到這些內容。編程

Spring framework 和 Spring Security 也是如此的,我還不知道 Spring 4.0 和 Spring Security 4.0 上的全部更改,個人項目仍在使用 Spring Security 3.1,然而如今已經有了 Spring 和 Spring Security 的 5.0 版本。後端

在過去的幾年中,個人學習速度有所降低,尚未掌握最新的技術,好比容器-Docker 和 Kubernetes,AWS、GCP 和 Azure 等雲平臺,單元和集成測試空間的最新變化以及簡化結構的新版本,如 Spring、Spring Security 和 Spring Boot。安全

所以,2020 年將是讓我本身瞭解技術方面最重要的事情,探索 DevOps 和雲計算領域,特別是 Docker、Kubernetes 和 AWS 的 Jenkins。服務器

分享一張後端路線圖(國外的一位大佬總結的),能夠去圖中的網站下載,或者在微信公衆號【武培軒】回覆
【路線圖】獲取。微信

2020 年 Java 程序員應該學習什麼?

2020 年 Java 開發人員能夠學習什麼?

這是我認爲 Java 開發人員應該在 2020 年學習的東西,極可能你已經瞭解了其中的大多數,可是更好地學習它們並進行深刻研究不會對你有害處的。框架

1.容器(Docker 和 Kubernetes)

2020 年 Java 程序員應該學習什麼?

你可能已經據說過 Docker 和 Kubernetes 等容器技術,以及它對 DevOps 團隊的影響。Kubernetes 是你能夠學習的最重要的工具之一,而且將陪伴你的整個職業生涯。機器學習

現在,不管是大型企業仍是小型創業公司,幾乎每一個開發團隊都使用 Docker 和 Kubernetes。能夠確定地說,若是你如今開始學習,頗有可能在工做中的某個時候用到 Docker 或 Kubernetes。

簡而言之,不管你是初級 Java 開發人員仍是經驗豐富的資深人士,擁有 Docker 和 Kubernetes 知識對於你的職業發展和工做變更都是相當重要的。

2.雲平臺(AWS 、GCP 或 Azure)

2020 年 Java 程序員應該學習什麼?

除了容器,雲是我認爲每一位軟件開發人員都應該在 2020 年學習的另外一件事。各類規模和領域的公司如今都在將其環境遷移到雲中,以節省成本和更好的可擴展性,這意味着你早晚要須要使用雲原生應用程序。

它們對於數據科學,機器學習和人工智能領域中的迅猛發展是緊密相連的,由於只有雲才能提供那些資源匱乏的模型所需的計算能力。

像 Amazon Web Service(AWS),Google Cloud Platform(GCP)或 Microsoft Azure 這樣的學習型雲平臺不只在你當前的工做上。你不須要學習全部這些知識,實際上,學習一種知識意味着你將對其餘事物有一個公平的想法。

若是你要學習雲平臺相關的知識,那麼我首先建議你學習 AWS,由於它是最流行和最成熟的雲平臺。

3. Git

2020 年 Java 程序員應該學習什麼?

Git 和 Github 已經使用有一段時間了,雖然我過去在 IDEA 中使用過 Git,可是在命令行上我對 Git 還不是很熟悉。

爲何到目前爲止我尚未掌握 Git?只是由於我還不須要它,我偶爾會從 Github 下載項目並從 IDEA 運行,可是我仍然是 Git 新手。

從如今開始,大多數公司都將其項目從 SVN,CVS 遷移到 Git,這也是學習和掌握 Git 的重要時機。

4.單元測試(JUnit 和 Mockito)

2020 年 Java 程序員應該學習什麼?

我想在來年改進的另外一個領域,Java 程序員可使用許多新的框架和工具進行單元測試,並對其應用程序進行集成測試,例如用於模擬對象的 Mockito 和 PowerMock,用於自動集成測試的 Robot Framework 和Cucumber,固然還包括新的 JUnit 5 庫。

在這方面有不少東西要學習,若是你能夠花一些時間來提升單元測試技能,那麼不只能夠提升你的編碼專業知識,並且可使你成爲更專業的開發人員,每家公司都將以此爲形式。

5.從 JDK 9 到 13 的新 Java 功能

2020 年 Java 程序員應該學習什麼?

正如我過去所說的那樣,我像許多 Java 開發人員同樣仍在努力追趕六個月發佈一次的 Java 版本。我今年花了一些時間學習 Java 九、十、11 和 12 的新功能,可是對我來講,直到我使用 LTS 發行版 Java 13 以前,Java 11 仍然是優先事項。

JDK 9 在模塊,拼圖,反應流,Process API,HTTP2 客戶端,JShell 和 API 改進(如集合工廠方法)方面帶來了不少好處,我很是但願能儘早學習它們。

一樣,JDK 10 帶來了var,使你能夠進行動態類型化和 GC 改進。而後,在JDK 12 和 JDK 13 的 Switch 表達式、文本塊。

6. Spring Framework 5+

2020 年 Java 程序員應該學習什麼?

自從咱們看到 Spring 和 Java Ecosystem 進行了許多重大升級以來已經有兩年了,Spring Framework 5.0 就是其中之一。我一直在據說一些新功能,例如 Spring 5 的反應式編程模型,Java 8 和 9 的採用,某些單元測試的改進等,可是我尚未嘗試過。

不管如何,我已經開始學習 Spring 5.0.0,並將保持這種勢頭在 2020 年持續下去。若是你使用 Spring,多是學習 Spring 5.0 的最佳時機。

7. DevOps(Jenkins)

2020 年 Java 程序員應該學習什麼?

去年,隨着愈來愈多的公司進入DevOps並採用持續的集成和部署,這是另外一個吸引個人領域。

DevOps 很是龐大,你須要學習不少工具和原理,這就是讓不少開發人員不知所措的緣由,但你沒必要擔憂。下面分享了一個大佬總結的 DevOps 路線圖(公衆號
【武培軒】回覆【路線圖】獲取),你能夠按照本身的速度學習和掌握 DevOps,尤爲是 Jenkins。

2020 年 Java 程序員應該學習什麼?

這意味着,若是你是一位經驗豐富的 Java 程序員,而且熱衷於管理環境,自動化和改善總體結構,那麼你能夠成爲DevOps 工程師。

8. RESTful Web 服務

2020 年 Java 程序員應該學習什麼?

我想在 2020 年繼續改進的另外一件事是我對編寫 REST API 以及使用 Spring 使用 Java 實現安全且可擴展的RESTful Web Service 的瞭解。

這是 Java 世界中很是須要的一項技能,而且不多有人同時瞭解 Java 和 REST。若是你也同樣,而且想學習如何使用Spring 開發 RESTful Web Service,那麼讓咱們一塊兒在 2020 學習。

9. Spring Security 5.0(OAuth)

2020 年 Java 程序員應該學習什麼?

Spring Security 是一個可以爲基於 Spring 的企業應用系統提供聲明式的安全訪問控制解決方案的安全框架。它提供了一組能夠在 Spring 應用上下文中配置的 Bean,充分利用了 Spring IoC(控制反轉),DI(依賴注入)和 AOP(面向切面編程)功能,爲應用系統提供聲明式的安全訪問控制功能,減小了爲企業系統安全控制編寫大量重複代碼的工做。

這是 Spring 生態系統的第三次重大升級,Spring Security 5.0.0 的主要亮點在於它只須要最小化的 JDK 八、反應式安全特性、OAuth 2.0(OIDC)和現代密碼存儲,你絕對不能錯過。

與 Spring 5.0 框架同樣,這是 2020 年個人另外一個優先事項。

10. Spring Boot 2 和微服務

2020 年 Java 程序員應該學習什麼?

Spring Boot 2.0 中引入了衆多使人激動的新特性,包括支持 Java 九、HTTP/二、基於 Spring 5 構建、強力集成 GSON 等等。

那麼在時間容許的狀況下,你還應該花一些時間學習 Spring Boot 2 和微服務,我相信它會給你帶來不同的體驗。

11. Apache Spark 和 Kafka

2020 年 Java 程序員應該學習什麼?

我想在 2020 年繼續深刻探索的另外一件事是大數據,主要是 Apache Spark 和 Apache Kafka 框架。我不肯定是否有時間去看其餘大數據技術,可是它的好東西和大數據多是目前最熱門的技術。

總結

這就是 Java 程序員在 2020 年能夠學到的一切嗎?就像我說的那樣,技術突飛猛進,程序員面臨的最大挑戰是使本身保持不斷學習的狀態。除了以上這些技術外,確定還有不少其餘的東西,你能夠查找在新的一年就像學習一門新的編程語言如 Kotlin,但對我來講,若是我能在 2020 年實現這些目標,我會更高興。

譯自:https://medium.com/javarevisited/what-java-programmers-should-learn-in-2020-648050533c83

●使用 Nginx 搭建靜態資源 web 服務器
●Nginx 熱部署和日誌切割,你學會了嗎?
●Nginx 瞭解一下?
●你真的瞭解 volatile 關鍵字嗎?
●Java中Set集合是如何實現添加元素保證不重複的?
●爲何不建議使用Date,而是使用Java8新的時間和日期API?

2020 年 Java 程序員應該學習什麼?

武培軒有幫助?在看,轉發走一波稀罕做者

相關文章
相關標籤/搜索