自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

2019年度Java開發(fā)者路線圖

譯文
開發(fā) 后端
本文將向大家展示了一張Java開發(fā)者路線圖。該路線圖在保持簡單可行的基礎上,介紹了各種具有業(yè)界標準、且方便多數(shù)人遵循的工具和程序庫。

【51CTO.com快譯】許多Java開發(fā)人員都希望通過某種Java成長路線圖,來解答有關:該學習哪些技術,使用哪些工具以及框架之類的問題。在此,我將向大家展示一張根據(jù)自己多年經(jīng)驗總結出的路線圖。該路線圖在保持簡單可行的基礎上,介紹了各種具有業(yè)界標準、且方便多數(shù)人遵循的工具和程序庫。該路線圖如下所示,希望能夠對您起到指導和借鑒的作用。

Java開發(fā)人員的必備技能

下面,我們將根據(jù)上述Java路線圖,來一起探討那些開發(fā)人員必須學習和掌握的工具、框架、程序庫、以及API。

1.工具

在路線圖中,工具部分主要分為兩塊。

第一部分是作為主要工具的IDE。它能夠起到編譯、運行、調試、分析、測試、比較文件與代碼、以及重構等作用。

第二部分是構建工具。您需要使用例如Maven和Gradle之類的工具,來構建和部署項目。當然,您也可以選擇使用比較傳統(tǒng)甚至有些老舊的ANT。不過,在處理所有新的Java項目時,我個人更偏好使用Maven或Gradle。

2. JDK API

JDK API是其次需要學習和掌握的方面。根據(jù)它對于大多數(shù)Java開發(fā)人員的重要程度,我將Java集合框架(Collections Framework)、Java并發(fā)性(Concurrency)、Java IO與Java 8 API等核心領域都歸納到了此類之中。下面我們逐一進行討論:

2.1 Java集合框架

這是每個Java開發(fā)人員都應該認真學習的Java重要API之一。該API提供了Java中標準數(shù)據(jù)結構的實現(xiàn),例如:鏈表、集合、堆棧、隊列、哈希表、以及優(yōu)先級隊列等。

您至少應該了解的常規(guī)對象包括:ArrayList、HashMap、HashSet、LinkedHashSet、以及TreeSet等。它們都有各自不同的屬性。例如:ArrayList是一個可以增長的動態(tài)數(shù)組;HashMap是一種哈希表的標準實現(xiàn),可以被用于存儲各種鍵值對;而HashSet則是一套實現(xiàn)類的集合,它不允許有重復元素的出現(xiàn)。

2.2 Java并發(fā)性

在Java集合之后,另一個關鍵的Java API便是多線程與并發(fā)性。我個人認為:如果您想成為一名合格的Java開發(fā)人員,那么就必須對Java Concurrency API具有扎實的理解和掌握。

您不僅應該對Thread、Runnable、對象鎖定(Object locking)、以及同步等基本概念有深入的了解,而且還應該熟悉死鎖、活動鎖(livelock)、競爭條件、以及如何處理等相關概念。

同時,您也應該了解一些高級的Java概念,例如:如何在Java 5及其后續(xù)版本中添加各種同步器,包括:CyclicBarrier、CountDownLatch、Phaser、CompleteableFuture等,以及如何通過Futures在Java中執(zhí)行異步操作等方面。

2.3 Java IO

通過采訪了100多名Java程序員,我注意并發(fā)現(xiàn)到:相比Java集合和Java多線程API,他們對于Java IO和NIO API的了解真是少之又少。雖然多數(shù)人已經(jīng)將大量時間花費在了學習前面兩個API上,但是我們絲毫不應該忽略其他關鍵的API。

有過編寫核心Java應用程序的讀者應該體會到:經(jīng)常需要使用java.io包中的File、InputStream、OutputStream、Reader和Writer等類。它們都是Java IO API的核心。同理,如果您想編寫基于套接字的應用程序,那么就需要通過java.nio API來了解ByteBuffer、FileChannel、Selector和其他關鍵類。

不過在網(wǎng)上,有關傳授Java IO和Java NIO API的資源并不多,你可以通過The Complete Java Masterclass課程資源,來全面掌握此類API。當然,該課程也會涉及到Java API的許多其他基本概念。

2.4 Java 8的各項功能

Java程序員應該學習并掌握的下一個重要API是Java 8的各項功能??梢院敛豢鋸埖卣f,這些功能徹底改變了如今Java的編程方式。因此,作為一名Java開發(fā)人員,您不應該錯過了解與使用Lambda表達式、Stream API、Optional類、以及全新Date and Time API的機會。

Java 8已經(jīng)發(fā)布5年多了,如今大多數(shù)庫都已停止了支持低于Java 8的版本。因此如果您想順利地實現(xiàn)Java應用程序的編寫與調試的話,請趕快抓緊時間學習Java 8的各項新功能。

3.框架

Java的魅力在于它擁有一個充滿活力的生態(tài)系統(tǒng),這意味著其許多框架和程序庫能夠被用于幾乎所有的領域。目前,被Java開發(fā)人員經(jīng)常使用到的框架和程序庫包括:Spring、Spring Boot、Hibernate、Log4j、以及JUnit等。

3.1 Spring框架

Spring Framework是最流行的Java框架之一。實際上過去五年里,我在幾乎所有工作過的Java應用程序中,都使用了該框架。

Spring Framework不但能夠讓開發(fā)人員編寫出簡潔的代碼,而且還能夠通過依賴注入(Dependency Injection)和控制反轉(Inversion of Control)等功能,輕松地測試與維護代碼。它擁有豐富API,可適用于大多數(shù)日常任務,恐怕這也就是為什么Java開發(fā)人員應該學習Spring框架的原因。

3.2 Hibernate

在我的路線圖中,第二個推薦給Java開發(fā)人員學習的框架是Hibernate。它是基于Java持久性的API(JPA,Java Persistence API)。更準確地說,Hibernate早于JPA,但是由于JPA是在Java中實現(xiàn)了持久層的標準API,因此Hibernate也能夠實現(xiàn)它。

由于大多數(shù)Java應用程序都需要與數(shù)據(jù)庫進行交互,因此開發(fā)人員可以通過Java Hibernate之類的框架,使用JDBC來處理Java中的數(shù)據(jù)庫相關操作。另外,由于Hibernate提供了開箱即用的緩存和事務等基本功能,因此開發(fā)人員能夠擁有更多的時間,去專注于應用程序的邏輯,而不用考慮如何去實現(xiàn)緩存。顯然,Hibernate大幅提高了Java應用程序的性能。

3.3 Spring Boot

我在此推薦的第三個框架是Spring Boot。就像Spring能夠使得創(chuàng)建Java應用程序更加容易那樣,延續(xù)了Spring簡化化理念的Spring Boot,通過自動配置之類的功能,消除了創(chuàng)建和配置基于Spring的Java應用程序的各種麻煩步驟。另外,其入門級的POM功能,將常用的依賴項分組成為了多個簡單且可重用的POM。

4.測試

測試,尤其是單元測試、集成測試和自動化測試,是任何Java開發(fā)人員必修的一項基本技能。其中,JUnit和Mockito是兩種被Java開發(fā)人員最為熟悉、且歡迎​​的單元測試和模擬庫。

當然,您也可以去學習一下更高級的程序庫,例如:用于業(yè)務驅動測試的Cucumber,用于集成測試的Robot Framework,以及您肯定“繞不開”的JUnit。

在常見的PowerMock、Mockito和EasyMock三種模擬庫中,我強烈建議您學習Mockito。由于目前有許多Java開發(fā)人員和公司都在使用它,因此它已逐漸成為了在Java中創(chuàng)建模擬對象的標準庫。

如果您想深入學習JUnit和Mockito的話,可以通過鏈接:https://javarevisited.blogspot.com/2014/08/top-5-books-to-learn-unit-testing-junit-tdd-Java-programmers.html#axzz5E2uHdG3whttps://hackernoon.com/5-courses-java-programmers-can-join-to-learn-junit-and-mockito-in-2019-h74t38r4,來獲取相關書籍與更多的課程資源。

5.實用程序庫

一直以來,Java都擁有著豐富的開源程序庫,它們可以幫助開發(fā)人員實現(xiàn)從日志記錄到機器學習,從發(fā)送HTTP請求到解析JSON等,幾乎所有的工作。

值得一提的是:Apache Commons和Google Guava這兩個實用程序庫,它們是Java JDK庫的有效補充。在此,我還為Java開發(fā)人員羅列了20個常用的Java API與程序庫--https://javarevisited.blogspot.com/2018/01/top-20-libraries-and-apis-for-java-programmers.html。希望該清單能夠幫助您編寫出更加優(yōu)秀,運行效率更高的Java程序代碼。

原文標題:The 2019 Java Developer Roadmap,作者: Javin Paul

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2010-09-28 08:49:36

Java移動開發(fā)

2011-05-11 16:29:38

iOS

2021-07-13 15:29:04

Java微軟VS Code

2024-06-26 09:00:00

2013-01-16 17:34:32

Android開發(fā)路線圖

2022-02-28 15:14:09

DevOps

2024-11-11 17:29:15

2009-03-16 11:03:53

Symbian開源開發(fā)平臺

2009-03-16 08:39:57

Symbian開發(fā)平臺開源

2010-12-31 10:05:22

Exchange

2022-01-24 10:36:37

微軟開發(fā)者

2010-09-10 10:46:58

Firefox 4.0

2012-02-08 09:49:02

惠普webOS開源

2011-01-27 15:15:04

發(fā)展路線圖AndroidGoogle平臺經(jīng)理

2009-08-08 08:57:10

Windows 8發(fā)布日期

2015-11-16 14:34:27

CIO時代網(wǎng)

2015-10-14 17:43:18

2010-08-24 09:32:41

Windows PhoWindows Pho

2012-11-21 11:29:26

22nmAtomIntel

2010-12-31 13:22:36

點贊
收藏

51CTO技術棧公眾號