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年,歡迎你和我一起學習
相關文章
- 值得學習的技術人——阮一峰
- 自學Java開發技術靠譜嗎?Java
- 為什麼說Java是2021年最值得學的技術?Java
- 大資料開發技術學習方向大資料
- 學習java技術有前途嗎Java
- 國慶放假不出門, 在家學習- Java語言開發架構技術Java架構
- Java開發前景怎麼樣?值得學嗎?Java
- 如何才能夠系統地學習Java併發技術?Java
- 學習java技術如何保持良好的心態Java
- 技術大牛分享:JAVA學習路線Java
- JAVA核心技術學習筆記--反射Java筆記反射
- 深度強化學習技術開發與應用強化學習
- Java技術相關學習路線,學習Java後薪資如何?Java
- 做Java開發需要哪些技術?Java
- Java開發之掌握JSP技術JavaJS
- 大資料學習開發技術:MapReduce執行原理大資料
- 哪些人適合學習java技術Java
- 【收藏】Java開發者必去的技術網站Java網站
- java是最值得學習的程式語言嗎?Java
- 零基礎快速學習Java技術的方法整理Java
- HackerRank開發人員調研報告:2019年想學的語言、框架,值得采用的技術等框架
- 從零開始學習的朋友應該如何學習Linux技術?Linux
- docker技術學習Docker
- java底層鏈遊系統開發技術功能(成熟技術)Java
- 作為一個SAP開發人員,需要學習SAP傳統技術(比如ABAP)以外的開源技術嗎?
- 什麼是java?為什麼大家都學習java技術?Java
- Java技術分享:SpringBoot多模組開發JavaSpring Boot
- 遷移學習核心技術開發與應用研修班遷移學習
- 為什麼從事雲原生開發需要學習容器技術
- java核心技術卷1學習思維導圖Java
- 學習java技術有前途嗎?當然有前途Java
- 究竟哪些人適合學習Java技術呢?Java
- JAVA後臺開發學習(5)Java
- 20 個值得學習的 Vue 開源專案Vue
- 初學Java開發,這9本書值得一看Java
- java開發必須要掌握的20個核心技術Java
- Java程式設計師總結出的技術以及學習方法Java程式設計師
- 深度學習技術發展趨勢淺析深度學習