更新時間:2020-08-11 16:20:14 來源:動力節(jié)點(diǎn) 瀏覽1920次
現(xiàn)在,讓我們細(xì)看這份Java開發(fā)者成長路徑,看看我們究竟要學(xué)習(xí)哪些工具(tools),框架(frameworks),庫(libraries)和應(yīng)用程序接口(APIs)。
1.工具
工具章節(jié)主要分為兩個部分。第一部分介紹集成開發(fā)環(huán)境(IDE),這是最基礎(chǔ)的工具,你幾乎可以用它做任何事,如編譯(compile),運(yùn)行(run),調(diào)試(debug),性能分析(profile),測試(test),比對文本(compare file),和編碼(code),重構(gòu)(refactoring)等。
第二部分介紹開發(fā)工具,你需要用它進(jìn)行項目開發(fā)與設(shè)計,如Maven(一種項目對象模型)和Gradle(一種構(gòu)建工具),這些都很好用。我之前有提過ANT(一種跨平臺構(gòu)建工具),但這是為舊程序設(shè)計的。如果要開發(fā)新程序,我更推薦Maven和Gradle。
2.Java開發(fā)工具包應(yīng)用程序接口(JDK APIs)
JDK APIs對多數(shù)Java開發(fā)者都十分重要。這部分內(nèi)容有點(diǎn)多,所以我將其分為Java集合框架,Java并發(fā)機(jī)制,Java IO和Java 8 APIs這幾大核心來講解。往下看。
2.1 Java集合框架
這是最為重要的Java應(yīng)用程序接口之一,每個Java開發(fā)者都應(yīng)學(xué)會。它定義了Java標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)的執(zhí)行方式,如鏈表(linked list),集合(set),棧(stack),隊列(queue),哈希表(hash table),優(yōu)先隊列(priority queue)等。
開發(fā)者還至少需要了解一些最常用的數(shù)據(jù)結(jié)構(gòu),比如ArrayList,HashSet,LinkedHashSet,TreeSet等。不同數(shù)據(jù)結(jié)構(gòu)屬性各不相同,如ArrayList是可以增長的動態(tài)數(shù)組;HashMap是哈希表的標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu),用于儲存鍵值對;而HashSet則是只能儲存不重復(fù)對象的集合數(shù)據(jù)結(jié)構(gòu)。
2.2 Java并發(fā)機(jī)制
重要性僅次于集合的API是多線程技術(shù)(multithreading)和并發(fā)機(jī)制(concurrency)。一位稱職的Java開發(fā)者必須熟練掌握J(rèn)ava并發(fā)機(jī)制。
你不僅需要深入理解線程(Thread),對象鎖(Object locking)和同步器(synchronization)這類基本概念,還需要熟悉死鎖(deadlock),活鎖(livelock),競爭條件(race conditions)等,并且知道如何操作。
同時,你需要了解一些進(jìn)階概念,如Java 5及之后的版本中加入的循環(huán)柵欄(Cyclicbarrier),多線程條件通行工具(CountDownLatch),相位器(Phaser),異步編程(completeable future)等同步裝置(synchronizers),F(xiàn)eature(一種異步處理接口)以及如何在Java中實(shí)現(xiàn)異步操作。
2.3 Java IO
采訪了上百位Java開發(fā)者后,我們發(fā)現(xiàn):跟集合或者多線程相比,他們普遍缺乏Java IO和NIO的知識。我理解大多數(shù)人會花更多時間在學(xué)習(xí)前兩者上,但是IO和NIO也不能忽視。
當(dāng)編寫一個實(shí)踐性的核心程序時,你會需要java.io包中的類(classes),如文件流(file),字符流(InputStream&OutputStream),字節(jié)流(Reader&Writer),這也是Java IO接口的核心。同樣,如果要編寫套接字應(yīng)用,你也需要了解Java NIO接口中的字節(jié)緩沖區(qū)(ByteBuffer),文件通道(FileChannel),選擇器(Selector)等重要的類。可惜現(xiàn)在并沒有很多針對Java IO和NIO的公共學(xué)習(xí)資源,我找到一個不錯的學(xué)習(xí)資源——The Complete Java Masterclass,從這里你能學(xué)習(xí)到這兩種接口的一些重要概念。
2.4 Java 8 Features
接下來介紹的這個接口所有Java開發(fā)者都會用到——Java 8 features,這奠定了現(xiàn)今Java編寫和編程的方向。在2019年,想要成為一個Java開發(fā)者,必須了解Lambda表達(dá)式(Lambda expression),流接口(the Stream API),可選類(Optional classes)和新的時間日期接口(Date and Time API)的用法,不然開發(fā)Java程序會變的十分艱難。現(xiàn)在很多的庫都不能支持Java 8以下的版本,也就是說最好現(xiàn)在就開始學(xué)習(xí)Java 8 features。Java 8已經(jīng)發(fā)布5年了,你沒什么理由不學(xué)習(xí)它。
以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java開發(fā)學(xué)習(xí)哪些技術(shù)知識”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743