這些建議和技巧將幫助您提高程式設計和編碼技能,這對於成為優秀的Java開發人員至關重要。這些技巧對核心Java開發人員和Java Web開發人員同樣有用。
1.學習Java 8
對於Java開發人員來說,這是最重要的事情。甚至Java 9在6個月前釋出,人們現在正在談論#java11。無論如何,我知道許多程式設計師沒有使用lambdas和Stream API等Java 8功能編寫一行程式碼。不幸的是,他們中的大多數都是經驗豐富的Java開發人員,具有7至10年的豐富經驗。我明白,在你職業生涯的某些階段,學習變得緩慢,但如果你現在不採取行動,你就會被拋在腦後。
幾乎所有Java開發工作現在都需要Java 8技能,如果你沒有它們,那麼很難做好。
2.學習Spring Framework(Spring Boot)
現在,Java開發人員幾乎必須瞭解Spring,因為大多數公司更喜歡使用Spring框架(如Spring MVC,Spring Boot和Spring Cloud)進行開發,以開發Web應用程式,REST API和微服務。它還提升了依賴注入等最佳實踐,使您的應用程式更易於測試,這是現代軟體的關鍵要求。
3.學習單元測試
如果有一個常見的東西將優秀的Java開發人員與普通的Java開發人員區分開來,那就是單元測試技能。一個優秀而專業的Java開發人員幾乎總是為他們的程式碼編寫單元測試,如果他們真的是一個搖滾明星開發人員,你可以從他們的程式碼和測試中看到它。
測試也有很長的路要走,Java開發人員可以使用多種單元測試,整合測試和自動化測試工具。
您可以花費大量時間來磨練您的Java測試技能,但對於那些剛接觸Java世界和單元測試的人來說,JUnit是最好的庫。最新版本(JUnit 5)既強大又靈活,每個Java開發人員都應該知道這一點。
4.學習API和庫
如果您與優秀的Java開發人員合作過,您可能已經注意到他們對Java生態系統的整體瞭解,並且API構成了Java生態系統的主要部分。Java是世界上最流行和最成熟的程式語言,並且有大量的庫和API可用於執行幾乎所有操作。
當然,您不應該瞭解所有這些,但是您應該熟悉一些關鍵API,例如JSON處理API(如Jackson和Gson),XML處理API(如JAXB和Xerces)以及單元測試庫(如Mockito和JUnit)。
如果您不瞭解它們,您可以在2018年學習或至少了解它們。首先,您可以檢視我的每個Java開發人員應該知道的20個Java庫的列表,其中包括來自關鍵領域的庫,例如解析,位元組碼操作,併發,集合等
5.瞭解JVM的內部結構
如果您真的想成為一名搖滾明星Java開發人員,那麼您必須花時間學習JVM內部,例如JVM的不同部分,它們如何工作,JIT,JVM選項,垃圾收集和收集器等。如果您對JVM瞭如指掌,那麼您可以編寫健壯且高效能的Java應用程式,這就是搖滾明星Java開發人員所做的事情。
作為其中的一部分,您還應該學習如何分析Java應用程式以及如何查詢效能瓶頸。
對於結構化學習,我推薦Scott Oaks的“Java效能權威指南”,這是我在過去幾年中讀過的一本很棒的書。
6.學習設計模式
如果您是從頭開始編寫Java應用程式,那麼大多數時候,您編寫物件導向的程式碼和設計模式都是經過試驗和測試的常見問題解決方案。通過了解並將它們合併到您的程式碼中,您可以使您的應用程式更加靈活,並且將來更容易更改。
它還提高了整體程式碼質量和文件,因為其他Java開發人員也熟悉設計模式。因此,他們會很快理解您的解決方案。
但是,不要只關注程式碼部分,理解精神和創造性。使用lambdas和Streams等Java 8功能來重寫模式。
7.學習DevOps工具
對於現代Java開發人員來說,瞭解DevOps至關重要。您應該至少熟悉持續整合和持續部署以及Jenkins如何幫助實現這一目標。
對於高階Java開發人員來說,這一點變得更加重要,他們通常負責設定編碼最佳實踐和建立環境,構建指令碼和指南。
我還建議您花時間瞭解更多有關DevOps以及Docker,Chef,Kubernetes等工具以及Maven和Jenkins的資訊。
如果您需要一些資源,那麼Udemy的Devos 和開發人員的Jenkins CI可能是最好的課程。您不僅可以瞭解CI和CD,還可以深入瞭解Maven和Jenkins。
8.學習Kotlin
幾年前,我讀了一本名為The Well-Grounded Java Developer的書,強調了成為多語言程式設計師的優勢。它激發了我學習Scala的能力,後來我也嘗試了Groovy,因為它在建立構建指令碼和單元測試方面的使用有所增加。
這種經歷對我幫助很大,這也是我鼓勵Java開發人員學習新JVM語言的原因。我之前在部落格上發表過關於Java開發人員應該在2018年學習的3種JVM語言的部落格,但如果你趕時間,那就去學習Kotlin吧。
它是來自IntelliB IDEA背後的公司JetBrains的優秀語言,也是Google在2017年宣佈的Android開發的官方語言。
它不僅可以提高您的工作效率,還可以幫助您進入Android開發。如果你想在2018年學習Kotlin並尋找一些好的資源,那麼這裡有一個Kotlin課程列表。
9.學習微服務
架構正在不斷變化,許多公司正在從單片應用程式轉向微服務。現在是Java開發人員瞭解微服務架構以及如何在Java中建立微服務以利用這一最新浪潮的時候了。
幸運的是,Spring Framework提供了Spring Cloud和Spring Boot,極大地簡化了Java中的微服務開發。
如果您正在尋找課程,那麼使用Spring Boot開始 Microservices是一個很好的開始。
而且,如果您更喜歡書籍,那麼我建議您檢視 Josh Long的Cloud Native Java,它為開發雲應用程式提供了全面的指南。
10.更好地學習開發工具
優秀的Java開發人員最重要的特徵之一是他們的工具非常好。他們不僅知道比普通開發人員更多的工具,而且他們也很瞭解他們的工具。由於Eclipse,NetBeans和IntelliJ IDEA等IDE是Java程式設計師最重要的工具,因此花一些時間來了解有關它們的更多資訊是有意義的