Java開發2018年值得學習的10大技術
作為一個開發人員,我們最大的挑戰就是保持自己瞭解新的技術。技術變化很快,你大概每兩年就會看到一個新版本的程式語言和框架。
就拿2017年來說,AR、VR、區塊鏈、人工智慧等等已經撲面而來了。除了這些離我們較遠的,說幾個離我們最近的:JDK 9、 Spring 5、 Spring Security 5、 Spring Boot 2、ServiceMesh等。這一年對於一個Java開發來說可能是最忙碌的一年了,我們還在學習使用Java 8的Stream API的時候,Java 9的模組化已經來了。除此之外,JDK 9 還有很多有趣的功能如Jigsaw、JShell、Stack-Walking API等,所以,僅僅是這些東西足夠2018年的你好好學習一番了。
再拿Spring來說說,可能情況更加嚴重,毫不客氣的說,很多人可能還不知道Spring 4有哪些特性,甚至專案中還在用Spring 3.1 ,更別提新出來的Spring 5、 Spring Security 5這些東西了。
想想有多可怕,我們現在用的竟然是五六年前的技術。
前幾天在幫GitChat審稿的時候,有一篇文章名字大概叫《搭建企業級專案》之類的文章,但是仔細一看,裡面的內容竟然還是讓開發者通過匯入jar包的方式搭建SSH環境,看到這裡,我真的有點擔憂,尤其那些初級Java開發者,甚至是還沒畢業的你。或者是很多工作了多年的你。新技術,請學起來!!!跟我一起!
下面是我列的我的2018學習清單(和Java相關部分),供你參考。
01
Gradle
Java世界中主要有三大構建工具:Ant、Maven和Gradle。經過幾年的發展,Ant幾乎銷聲匿跡,還剩Maven和Gradle兩種,maven是我目前工作中用的版本管理工具。maven現在已經是行業標準,Gradle算是後起之秀,很多人對他的瞭解都是從android studio中得到的,Gradle拋棄了Maven的基於XML的繁瑣配置。取而代之的是Gradle採用了領域特定語言Groovy的配置,大大簡化了構建程式碼的行數。
正好也可以藉著學習Gradle的機會深入學習一下Groovy。
02
Python
最近我已經在開始學習Python了。最初想學習他的動機是想借助Python做一些爬蟲、資料分析相關的事情。作為一種語法簡單的高階語言,Python有很多優點。對於一個Java程式設計師來說,學習Python是很容易的。
在StackOverflow2017開發者調查中。所有最受歡迎的語言中,Python超越PHP位居第五,在你最希望使用哪種語言排行榜中,Python 奪冠,而去年僅僅第四。所以,如果你準備學習一門新的語言,Python絕對是個很好的選擇。
03
Java 8 和 Java 9
就像我說的,我和絕大多數Java開發人員一樣,仍然在學習Java 8。2018年仍然會繼續學習並大量使用Java 8。
我也會花一些時間學習Java 9的新特性,比如Jigsaw, Reactive Streams, Process API, HTTP2 client, JShell等也在學習清單中。
04
Spring 5
2017年我們見證了見證了Spring和Java生態系統的許多重大升級,Spring 5.0就是其中之一。
Spring 5 的新反應式程式設計模型、HTTP/2 支援,以及 Spring 通過 Kotlin 對函數語言程式設計的全面支援這些都值得我們好好了解一下。
05
Spring Security 5.0
Spring Security 5.0 提供了許多新功能,並支援 Spring Framework 5.0,總共有 400 多個增強功能和 bug 修復。在Spring Security 5.0.0之前,密碼是明文儲存,十分不安全,這一次的新版本則使用更安全的密碼儲存方式。
Spring Security 5.0.0的主要亮點在於它只需要最小化的JDK 8、反應式安全特性、OAuth 2.0(OIDC)和現代密碼儲存。
06
Spring Boot 2
Spring Boot 2.0 基於 Spring 5 Framework ,提供了 非同步非阻塞 IO 的響應式 Stream 、非堵塞的函式式 Reactive Web 框架 Spring WebFlux等特性。
很多使用過SpringBoot的人都知道,使用SpringBoot搭建Web應用真的是又快又好,相信Spring Boot 2會帶來更多驚喜。
07
Apache Spark 和 Kafka
另外一件2018年要深入學習的是大資料相關的知識。特別是Apache Spark 和 Kafka兩個框架。
我不確定我是否會有時間看其他大資料技術,這兩個至少在當前還是比較火的。
08
ServiceMesh
顯然,這是個新東西,很新。或許在讀這篇文章的你並沒有聽說過。那麼恭喜你,此時此刻你已經在這個方面超過了大部分程式設計師。
ServiceMesh,他被業內譽為下一代微服務,現在整個領域都處於初級階段。早學早受益。
09
Serverless
無伺服器運算(英語:Serverless computing),又被稱為功能即服務(Function-as-a-Service,縮寫為 FaaS),是雲端計算的一種模型。以平臺即服務(PaaS)為基礎,無伺服器運算提供一個微型的架構,終端客戶不需要部署、配置或管理伺服器服務,程式碼執行所需要的伺服器服務皆由雲平臺來提供。
這東西,聽上去就很高大上。
10
Others
Docker 、MicroService、Kubernets、Spring Cloud、Redis….
2018年,歡迎你和我一起學習
相關文章
- 2018 年開源技術 10 大發展趨勢
- 2018年最值得學習的10個框架框架
- 大資料開發技術學習方向大資料
- 現代Web開發需要學習的15大技術Web
- 2018航空公司值得考慮的10大技術問題
- 值得學習的技術人——阮一峰
- 2018 年,學習WEB前端開發應該關注哪些新技術?Web前端
- 2018年Java程式設計師學習大資料開發最佳之路!Java程式設計師大資料
- 大資料學習開發技術:MapReduce執行原理大資料
- 為什麼說Java是2021年最值得學的技術?Java
- 2018前端值得關注的技術前端
- 2018年最值得關注學習的25個JavaScript開源專案JavaScript
- 我是java開發的想學習一下雲端計算,要學習什麼技術Java
- 2018最值得關注的前端技術前端
- Java Web開發技術JavaWeb
- 學會Java開發才能學習大資料嗎?Java大資料
- 2018年在Java、Web和移動開發方面最值得關注的12大開源框架JavaWeb移動開發框架
- 學習java技術有前途嗎Java
- 10 個值得一試的開源深度學習框架深度學習框架
- Java開發前景怎麼樣?值得學嗎?Java
- 國慶放假不出門, 在家學習- Java語言開發架構技術Java架構
- 2018年Github上值得學習的十個熱門專案Github
- 如何才能夠系統地學習Java併發技術?Java
- 深度強化學習技術開發與應用強化學習
- 我是否適合學習軟體開發技術?
- 【菜鳥學Java】10:Cookie技術JavaCookie
- 學習新技術的10個建議
- 給Java開發初學者的10個學習建議,助你學習事半功倍!Java
- 給Java開發初學者的10個學習建議,助你學習事半功倍Java
- JAVA核心技術學習筆記--反射Java筆記反射
- 技術大牛分享:JAVA學習路線Java
- 學習java技術如何保持良好的心態Java
- HackerRank開發人員調研報告:2019年想學的語言、框架,值得采用的技術等框架
- [17年跨領域學習]從 WKWebview 再談混合開發 | 掘金技術徵文WebView
- 10個最熱門的大資料技術,附上大資料學習路線大資料
- Java技術相關學習路線,學習Java後薪資如何?Java
- 做Java開發需要哪些技術?Java
- 學習外掛編寫開發所必備技術