作為一個開發(fā)人員凉夯,我們最大的挑戰(zhàn)就是保持自己了解新的技術(shù)货葬。技術(shù)變化很快,你大概每兩年就會看到一個新版本的編程語言和框架。
就拿2017年來說恍涂,AR宝惰、VR、區(qū)塊鏈再沧、人工智能等等已經(jīng)撲面而來了。除了這些離我們較遠(yuǎn)的尊残,說幾個離我們最近的:JDK 9炒瘸、 Spring 5、 Spring Security 5寝衫、 Spring Boot 2顷扩、ServiceMesh等。這一年對于一個Java開發(fā)來說可能是最忙碌的一年了慰毅,我們還在學(xué)習(xí)使用Java 8的Stream API的時候隘截,Java 9的模塊化已經(jīng)來了。除此之外,JDK 9 還有很多有趣的功能如Jigsaw婶芭、JShell东臀、Stack-Walking API等,所以犀农,僅僅是這些東西足夠2018年的你好好學(xué)習(xí)一番了惰赋。
再拿Spring來說說,可能情況更加嚴(yán)重呵哨,毫不客氣的說赁濒,很多人可能還不知道Spring 4有哪些特性,甚至項目中還在用Spring 3.1 孟害,更別提新出來的Spring 5拒炎、 Spring Security 5這些東西了。想想有多可怕挨务,我們現(xiàn)在用的竟然是五六年前的技術(shù)枝冀。
?前幾天在幫GitChat審稿的時候,有一篇文章名字大概叫《搭建企業(yè)級項目》之類的文章耘子,但是仔細(xì)一看果漾,里面的內(nèi)容竟然還是讓開發(fā)者通過導(dǎo)入jar包的方式搭建SSH環(huán)境,看到這里谷誓,我真的有點擔(dān)憂绒障,尤其那些初級Java開發(fā)者,甚至是還沒畢業(yè)的你捍歪』瑁或者是很多工作了多年的你。新技術(shù)糙臼,請學(xué)起來B洹!变逃!跟我一起必逆!
下面是我列的我的2018學(xué)習(xí)清單(和Java相關(guān)部分),供你參考揽乱。
01?Gradle
Java世界中主要有三大構(gòu)建工具:Ant名眉、Maven和Gradle。經(jīng)過幾年的發(fā)展凰棉,Ant幾乎銷聲匿跡损拢,還剩Maven和Gradle兩種,maven是我目前工作中用的版本管理工具撒犀。maven現(xiàn)在已經(jīng)是行業(yè)標(biāo)準(zhǔn)福压,Gradle算是后起之秀掏秩,很多人對他的了解都是從android studio中得到的,Gradle拋棄了Maven的基于XML的繁瑣配置荆姆。取而代之的是Gradle采用了領(lǐng)域特定語言Groovy的配置蒙幻,大大簡化了構(gòu)建代碼的行數(shù)。
正好也可以借著學(xué)習(xí)Gradle的機(jī)會深入學(xué)習(xí)一下Groovy胞枕。
02?Python
最近我已經(jīng)在開始學(xué)習(xí)Python了杆煞。最初想學(xué)習(xí)他的動機(jī)是想借助Python做一些爬蟲、數(shù)據(jù)分析相關(guān)的事情腐泻。作為一種語法簡單的高級語言决乎,Python有很多優(yōu)點。對于一個Java程序員來說派桩,學(xué)習(xí)Python是很容易的构诚。
在StackOverflow2017開發(fā)者調(diào)查中。所有最受歡迎的語言中铆惑,Python超越PHP位居第五范嘱,在你最希望使用哪種語言排行榜中,Python 奪冠员魏,而去年僅僅第四丑蛤。所以,如果你準(zhǔn)備學(xué)習(xí)一門新的語言撕阎,Python絕對是個很好的選擇受裹。
03 Java 8 和 Java 9
就像我說的,我和絕大多數(shù)Java開發(fā)人員一樣虏束,仍然在學(xué)習(xí)Java 8棉饶。2018年仍然會繼續(xù)學(xué)習(xí)并大量使用Java 8。
我也會花一些時間學(xué)習(xí)Java 9的新特性镇匀,比如Jigsaw, Reactive Streams, Process API, HTTP2 client, JShell等也在學(xué)習(xí)清單中照藻。
04 Spring 5
2017年我們見證了見證了Spring和Java生態(tài)系統(tǒng)的許多重大升級,Spring 5.0就是其中之一汗侵。?
Spring 5 的新反應(yīng)式編程模型幸缕、HTTP/2 支持,以及 Spring 通過 Kotlin 對函數(shù)式編程的全面支持這些都值得我們好好了解一下晃择。
05 Spring Security 5.0
Spring Security 5.0 提供了許多新功能冀值,并支持 Spring Framework 5.0,總共有 400 多個增強(qiáng)功能和 bug 修復(fù)宫屠。在Spring Security 5.0.0之前,密碼是明文保存滑蚯,十分不安全浪蹂,這一次的新版本則使用更安全的密碼存儲方式抵栈。
Spring Security 5.0.0的主要亮點在于它只需要最小化的JDK 8、反應(yīng)式安全特性坤次、OAuth 2.0(OIDC)和現(xiàn)代密碼存儲古劲。
06 Spring Boot 2
Spring Boot 2.0 基于 Spring 5 Framework ,提供了 異步非阻塞 IO 的響應(yīng)式 Stream 缰猴、非堵塞的函數(shù)式 Reactive Web 框架 Spring WebFlux等特性产艾。
很多使用過SpringBoot的人都知道,使用SpringBoot搭建Web應(yīng)用真的是又快又好滑绒,相信Spring Boot 2會帶來更多驚喜闷堡。
07 Apache Spark 和 Kafka
另外一件2018年要深入學(xué)習(xí)的是大數(shù)據(jù)相關(guān)的知識。特別是Apache Spark 和 Kafka兩個框架疑故。
我不確定我是否會有時間看其他大數(shù)據(jù)技術(shù)杠览,這兩個至少在當(dāng)前還是比較火的。
08 ServiceMesh
顯然纵势,這是個新東西踱阿,很新∏仗或許在讀這篇文章的你并沒有聽說過软舌。那么恭喜你,此時此刻你已經(jīng)在這個方面超過了大部分程序員牛曹。
ServiceMesh佛点,他被業(yè)內(nèi)譽(yù)為下一代微服務(wù),現(xiàn)在整個領(lǐng)域都處于初級階段躏仇。早學(xué)早受益恋脚。
09 Serverless
無服務(wù)器運(yùn)算(英語:Serverless computing),又被稱為功能即服務(wù)(Function-as-a-Service焰手,縮寫為 FaaS)糟描,是云計算的一種模型。以平臺即服務(wù)(PaaS)為基礎(chǔ)书妻,無服務(wù)器運(yùn)算提供一個微型的架構(gòu)船响,終端客戶不需要部署、配置或管理服務(wù)器服務(wù)躲履,代碼運(yùn)行所需要的服務(wù)器服務(wù)皆由云平臺來提供见间。
這東西,聽上去就很高大上工猜。
10 Others
Docker 米诉、MicroService、Kubernets篷帅、Spring Cloud史侣、Redis....
歡迎工作一到五年的Java工程師朋友們加入Java學(xué)習(xí)之路:733234221
群內(nèi)提供免費的Java架構(gòu)學(xué)習(xí)資料(里面有高可用拴泌、高并發(fā)、高性能及分布式惊橱、Jvm性能調(diào)優(yōu)蚪腐、Spring源碼,MyBatis税朴,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個知識點的架構(gòu)資料)合理利用自己每一分每一秒的時間來學(xué)習(xí)提升自己回季,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕正林,使勁拼泡一,給未來的自己一個交代