程序員們是最具有挑戰(zhàn)性的工作,我們最大的挑戰(zhàn)就是保持自己了解新的技術(shù)腮出。技術(shù)變化很快,你大概每兩年就會看到一個(gè)新版本的編程語言和框架。
就拿2017年來說芝薇,AR胚嘲、VR、區(qū)塊鏈剩燥、人工智能等等已經(jīng)撲面而來了慢逾。除了這些離我們較遠(yuǎn)的,說幾個(gè)離我們最近的:JDK 9灭红、 Spring 5侣滩、 Spring Security 5、 Spring Boot 2变擒、ServiceMesh等君珠。這一年對于一個(gè)Java開發(fā)來說可能是最忙碌的一年了,我們還在學(xué)習(xí)使用Java 8的Stream API的時(shí)候娇斑,Java 9的模塊化已經(jīng)來了策添。除此之外,JDK 9 還有很多有趣的功能如Jigsaw毫缆、JShell唯竹、Stack-Walking API等,所以苦丁,僅僅是這些東西足夠你好好學(xué)習(xí)一番了浸颓。
再拿Spring來說說,可能情況更加嚴(yán)重,毫不客氣的說产上,很多人可能還不知道Spring 4有哪些特性棵磷,甚至項(xiàng)目中還在用Spring 3.1 ,更別提新出來的Spring 5晋涣、 Spring Security 5這些東西了仪媒。
想想有多可怕,我們現(xiàn)在用的竟然是五六年前的技術(shù)谢鹊。
前幾天在幫GitChat審稿的時(shí)候算吩,有一篇文章名字大概叫《搭建企業(yè)級項(xiàng)目》之類的文章,但是仔細(xì)一看佃扼,里面的內(nèi)容竟然還是讓開發(fā)者通過導(dǎo)入jar包的方式搭建SSH環(huán)境赌莺,看到這里,我真的有點(diǎn)擔(dān)憂松嘶,尤其那些初級Java開發(fā)者艘狭,甚至是還沒畢業(yè)的你〈涠或者是很多工作了多年的你巢音。新技術(shù),請學(xué)起來>〕9俸场!跟我一起似谁!
下面是我列的我的2018學(xué)習(xí)清單(和Java相關(guān)部分)傲绣,供你參考。
01Gradle
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渴丸。
02Python
最近我已經(jīng)在開始學(xué)習(xí)Python了侯嘀。最初想學(xué)習(xí)他的動機(jī)是想借助Python做一些爬蟲战坤、數(shù)據(jù)分析相關(guān)的事情。作為一種語法簡單的高級語言残拐,Python有很多優(yōu)點(diǎn)。對于一個(gè)Java程序員來說碟嘴,學(xué)習(xí)Python是很容易的溪食。
在StackOverflow2017開發(fā)者調(diào)查中。所有最受歡迎的語言中娜扇,Python超越PHP位居第五错沃,在你最希望使用哪種語言排行榜中,Python 奪冠雀瓢,而去年僅僅第四枢析。所以,如果你準(zhǔn)備學(xué)習(xí)一門新的語言刃麸,Python絕對是個(gè)很好的選擇醒叁。
03Java 8 和 Java 9
就像我說的,我和絕大多數(shù)Java開發(fā)人員一樣泊业,仍然在學(xué)習(xí)Java 8把沼。2018年仍然會繼續(xù)學(xué)習(xí)并大量使用Java 8。
我也會花一些時(shí)間學(xué)習(xí)Java 9的新特性吁伺,比如Jigsaw, Reactive Streams, Process API, HTTP2 client, JShell等也在學(xué)習(xí)清單中饮睬。
04Spring 5
2017年我們見證了見證了Spring和Java生態(tài)系統(tǒng)的許多重大升級,Spring 5.0就是其中之一篮奄。
Spring 5 的新反應(yīng)式編程模型捆愁、HTTP/2 支持,以及 Spring 通過 Kotlin 對函數(shù)式編程的全面支持這些都值得我們好好了解一下窟却。
05Spring Security 5.0
Spring Security 5.0 提供了許多新功能昼丑,并支持 Spring Framework 5.0,總共有 400 多個(gè)增強(qiáng)功能和 bug 修復(fù)夸赫。在Spring Security 5.0.0之前矾克,密碼是明文保存,十分不安全憔足,這一次的新版本則使用更安全的密碼存儲方式胁附。
Spring Security 5.0.0的主要亮點(diǎn)在于它只需要最小化的JDK 8、反應(yīng)式安全特性滓彰、OAuth 2.0(OIDC)和現(xiàn)代密碼存儲控妻。
06Spring 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會帶來更多驚喜菇存。
07Apache Spark 和 Kafka
另外一件2018年要深入學(xué)習(xí)的是大數(shù)據(jù)相關(guān)的知識夸研。特別是Apache Spark 和 Kafka兩個(gè)框架。
我不確定我是否會有時(shí)間看其他大數(shù)據(jù)技術(shù)依鸥,這兩個(gè)至少在當(dāng)前還是比較火的亥至。
08ServiceMesh
顯然,這是個(gè)新東西贱迟,很新姐扮。或許在讀這篇文章的你并沒有聽說過衣吠。那么恭喜你茶敏,此時(shí)此刻你已經(jīng)在這個(gè)方面超過了大部分程序員。
ServiceMesh缚俏,他被業(yè)內(nèi)譽(yù)為下一代微服務(wù)惊搏,現(xiàn)在整個(gè)領(lǐng)域都處于初級階段。早學(xué)早受益忧换。
09Serverless
無服務(wù)器運(yùn)算(英語:Serverless computing)胀屿,又被稱為功能即服務(wù)(Function-as-a-Service,縮寫為 FaaS)包雀,是云計(jì)算的一種模型宿崭。以平臺即服務(wù)(PaaS)為基礎(chǔ),無服務(wù)器運(yùn)算提供一個(gè)微型的架構(gòu)才写,終端客戶不需要部署葡兑、配置或管理服務(wù)器服務(wù),代碼運(yùn)行所需要的服務(wù)器服務(wù)皆由云平臺來提供赞草。
這東西讹堤,聽上去就很高大上。
10?Others
Docker 厨疙、MicroService洲守、Kubernets、Spring Cloud沾凄、Redis....
?為了讓學(xué)習(xí)變得輕松梗醇、高效,今天給大家免費(fèi)分享一套Java教學(xué)資源撒蟀。幫助大家在成為Java架構(gòu)師的道路上披荊斬棘叙谨。需要資料的歡迎加入學(xué)習(xí)交流群:9285,05736