首頁(yè)技術(shù)文章正文

黑馬程序員java學(xué)習(xí)路線圖

更新時(shí)間:2019-02-21 來源:黑馬程序員java培訓(xùn) 瀏覽量:

Java基礎(chǔ)

入門階段,主要是培養(yǎng)Java語(yǔ)言的編程思想。了解Java語(yǔ)言的語(yǔ)法,書寫規(guī)范等,掌握Eclipse、MyEclipse等開發(fā)工具,編寫Java代碼的能力。學(xué)完這個(gè)階段你應(yīng)該可進(jìn)行小型應(yīng)用程序開發(fā)并且可以對(duì)數(shù)據(jù)庫(kù)進(jìn)行基本的增刪改查管理。注意:此階段知識(shí)點(diǎn)的學(xué)習(xí),會(huì)有真實(shí)的項(xiàng)目進(jìn)行驅(qū)動(dòng)學(xué)習(xí),讓你輕松理解各知識(shí)點(diǎn)。

1. 計(jì)算機(jī)基礎(chǔ)知識(shí)

針對(duì)零基礎(chǔ)學(xué)習(xí)的人,從對(duì)計(jì)算機(jī)操作等知識(shí)的了解,延伸到Java語(yǔ)言的發(fā)展與開發(fā)工具的使用上。主要是讓你知道怎樣執(zhí)行計(jì)算機(jī)命令,認(rèn)識(shí)Java這門語(yǔ)言,感受編程語(yǔ)言Java怎么開發(fā)程序。

1) 計(jì)算機(jī)基礎(chǔ)

讓零基礎(chǔ)學(xué)習(xí)的人先了解計(jì)算機(jī)相關(guān)知識(shí),進(jìn)而再去了解Java語(yǔ)言。

2) DOS常用命令

了解什么是DOS,并掌握DOS控制臺(tái)的打開方式,同時(shí)熟悉常用的DOS命令,例如:盤符切換、進(jìn)入指定目錄、刪除文件等,完成使用DOS命令對(duì)計(jì)算機(jī)進(jìn)行操作和控制。

3) Java概述

了解Java語(yǔ)言的發(fā)展史、Java語(yǔ)言平臺(tái)版本、Java語(yǔ)言的特點(diǎn),以及JRE與JDK。JRE是Java的運(yùn)行環(huán)境,JDK是Java開發(fā)工具包,它包含了Java的開發(fā)工具以及JRE。所以安裝了JDK就不用再單獨(dú)安裝JRE了。

4) JDK環(huán)境安裝配置

了解了什么是JDK,以及JDK的重要性,下一步我們就來學(xué)習(xí)如何安裝和配置JDK環(huán)境。在安裝JDK之前,我們首先需要下載JDK,針對(duì)不同的系統(tǒng),我們需要下載不用版本的JDK。

5) 環(huán)境變量配置

了解path、classpath環(huán)境變量,理解path變量和classpath變量的作用,并掌握path變量和classpath變量的配置方式。

6) Java程序入門

當(dāng)JDK、環(huán)境變量配置完畢,我們就可以開始 編寫Java程序。編寫Java程序可以使用如下幾種工具:notepad(微軟操作系統(tǒng)自帶)、Editplus、Notepad++、Eclipse、MyEclipse。

2. 編程基礎(chǔ)

此模塊學(xué)習(xí)是讓你了解編程的具體流程,學(xué)習(xí)Java基礎(chǔ)語(yǔ)法的格式等。具體要掌握不同數(shù)據(jù)類型的變量定義與使用,掌握不同運(yùn)算符的運(yùn)算規(guī)則,掌握流程控制語(yǔ)句的執(zhí)行流程,編寫方法的聲明與調(diào)用,創(chuàng)建數(shù)組并訪問數(shù)組元素等知識(shí)。

1) 注釋

在程序開發(fā)工程中,用于解釋和說明程序的文字我們稱之為注釋,Java中的注釋分為以下幾種:?jiǎn)涡凶⑨尅⒍嘈凶⑨?、文檔注釋。

2) 關(guān)鍵字

了解Java關(guān)鍵字的含義及特點(diǎn),掌握關(guān)鍵字使用的注意事項(xiàng)。

3) 標(biāo)識(shí)符

了解什么是標(biāo)識(shí)符,標(biāo)識(shí)符的組成規(guī)則,以及標(biāo)識(shí)符使用時(shí)的注意事項(xiàng)。

4) 常量與變量

理解常量與變量的含義,并掌握常量與變量的區(qū)別、變量的定義格式以及變量的賦值。

5) 數(shù)據(jù)類型

掌握J(rèn)ava語(yǔ)言的數(shù)據(jù)類型,如基本數(shù)據(jù)類型:byte、short、int、long、float、double、char、boolean,以及引用類型:類、接口、數(shù)組。

6) 運(yùn)算符

熟練掌握J(rèn)ava中的運(yùn)算符:算術(shù)運(yùn)算符、賦值運(yùn)算符、比較運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符、三目運(yùn)算符。

7) 流程控制語(yǔ)句

了解什么是流程控制語(yǔ)句,掌握以下流程控制語(yǔ)句:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu),并能夠通過流程控制語(yǔ)句實(shí)現(xiàn)特定的功能。

8) 方法

掌握方法的定義及格式,并能正確的調(diào)用方法,理解方法的調(diào)用過程,同時(shí)清楚方法的注意事項(xiàng);掌握方法重載及其特點(diǎn)。

9) 數(shù)組

了解數(shù)組的概念,掌握數(shù)組的定義格式、靜態(tài)初始化、動(dòng)態(tài)初始化,并能夠理解Java中數(shù)組的內(nèi)存圖解。熟練掌握數(shù)組的遍歷、獲取最值、數(shù)組元素逆序、數(shù)組元素查找、數(shù)組排序和二分查找,以及二維數(shù)組的定義格式及初始化。

3. 面向?qū)ο?/p>

現(xiàn)實(shí)世界中,隨處可見的一種事物就是對(duì)象,對(duì)象是事物存在的實(shí)體,如人類、書桌、計(jì)算機(jī)、高樓大廈等。人類解決問題的方式總是將復(fù)雜的事物簡(jiǎn)單化,于是就會(huì)思考這些對(duì)象都是由哪些部分組成的。通常都會(huì)將對(duì)象劃分為兩個(gè)部分,即動(dòng)態(tài)部分與靜態(tài)部分。靜態(tài)部分,顧名思義就是不能動(dòng)的部分,這個(gè)部分被稱為“屬性”,任何對(duì)象都會(huì)具備其自身屬性,如一個(gè)人,它包括高矮、胖瘦、性別、年齡等屬性。然而具有這些屬性的人會(huì)執(zhí)行哪些動(dòng)作也是一個(gè)值得探討的部分,這個(gè)人可以哭泣、微笑、說話、行走,這些是這個(gè)人具備的行為(動(dòng)態(tài)部分),人類通過探討對(duì)象的屬性和觀察對(duì)象的行為了解對(duì)象。

1) 面向?qū)ο笏枷?/p>

了解面向過程編程思想,能夠通過案例理解Java的面向?qū)ο缶幊趟枷耄私饷嫦驅(qū)ο箝_發(fā)、設(shè)計(jì)、特征。

2) 類與對(duì)象

了解什么是類,什么是對(duì)象,并理解類與對(duì)象之間的關(guān)系;熟練掌握類的定義、對(duì)象內(nèi)存圖等。

3) 成員變量和局部變量

了解什么是成員變量,什么是局部變量,以及從他們?cè)陬愔械奈恢?、?nèi)存中的位置、生命周期、初始化值等方面掌握他們的區(qū)別。

4) 匿名對(duì)象

了解什么是匿名對(duì)象,掌握匿名對(duì)象的兩種使用情況。

5) 封裝

清楚的了解什么是封裝,并能夠理解封裝的優(yōu)點(diǎn)與缺點(diǎn),同時(shí)掌握封裝的原則。

6) this關(guān)鍵字

掌握this關(guān)鍵字的含義與使用。

7) 構(gòu)造方法

了解什么是構(gòu)造方法,構(gòu)造方法的作用,以及與構(gòu)造方法相關(guān)的注意事項(xiàng)。

8) 繼承

理解什么是繼承,繼承的好處以及java中繼承的特點(diǎn)和注意事項(xiàng),繼承中成員變量的關(guān)系、構(gòu)造方法的關(guān)系、成員方法的關(guān)系,方法重寫與方法重載的區(qū)別。

9) 多態(tài)

理解什么是多態(tài),掌握多態(tài)案例及成員訪問的特點(diǎn),多態(tài)的優(yōu)點(diǎn)和缺點(diǎn),多態(tài)中的轉(zhuǎn)型問題。

10) 抽象類

了解什么是抽象類,抽象類的特點(diǎn),抽象類成員的特點(diǎn)。

11) 接口

了解什么是接口,接口的特點(diǎn),接口成員的特點(diǎn),類與類、類與接口的關(guān)系,以及抽象類與接口的區(qū)別。

12) 內(nèi)部類

什么是內(nèi)部類,內(nèi)部類的訪問特點(diǎn),內(nèi)部類的位置,什么是成員內(nèi)部類、局部?jī)?nèi)部類、匿名內(nèi)部類,以及匿名內(nèi)部類在開發(fā)中的使用。

4. 常用類

類庫(kù)就是Java API(Application Programming Interface,應(yīng)用程序接口),是系統(tǒng)提供的已實(shí)現(xiàn)的標(biāo)準(zhǔn)類的集合。在程序設(shè)計(jì)中,合理和充分利用類庫(kù)提供的類和接口,不僅可以完成字符串處理、繪圖、網(wǎng)絡(luò)應(yīng)用、數(shù)學(xué)計(jì)算等多方面的工作,而且可以大大提高編程效率,使程序簡(jiǎn)練、易懂。

學(xué)習(xí)內(nèi)容:掌握Object類、Scanner類、String類、StringBuffer類、StringBuilder類、Arrays類、基本包裝類、正則表達(dá)式、Math類、Random類、System類、Date類、DateFormate類、Calendar類,及其常用方法。

5. 集合

集合類存放的都是對(duì)象的引用,而非對(duì)象本身,出于表達(dá)上的便利,我們稱集合中的對(duì)象就是指集合中對(duì)象的引用。簡(jiǎn)單一點(diǎn)就是說,集合是存放數(shù)據(jù)的容器。

學(xué)習(xí)內(nèi)容:什么是集合?數(shù)組與集合有什么區(qū)別,集合類的特點(diǎn),掌握Collection接口、Iterator接口、List接口、ListIterator接口、ArrayList類、Vector類、LinkedList類、泛型、Set接口、HashSet類、Map接口、HashMap類、LinkedHashMap類等。

6. IO

IO(Input/Output)是計(jì)算機(jī)輸出/輸出的接口。Java的核心庫(kù)java.io提供了全面的IO接口,包括:文件讀寫,標(biāo)準(zhǔn)設(shè)備輸出等等。Java中IO是以流為基礎(chǔ)進(jìn)行輸入輸出的,所有數(shù)據(jù)被串行化寫入輸出流,或者從輸入流讀入。

1) 異常

了解什么是異常,異常的由來,常見的異常,異常的分類,掌握jvm對(duì)異常的默認(rèn)處理方案,異常的處理方案:try…catch…finally、throws,什么是編譯時(shí)異常,什么是運(yùn)行時(shí)異常,掌握它們兩的區(qū)別,throws關(guān)鍵字、throw關(guān)鍵字,以及這兩個(gè)關(guān)鍵字的區(qū)別,熟練掌握自定義異常,異常注意事項(xiàng)。

2) File類

了解什么是File類,F(xiàn)ile類的用途,掌握File類的方法:createNewFile()、mkdir()、mkdirs()、delete()、renameTo(File dest)、isDirectory()、isFile()、exists()、等方法,以及File類的基本獲取功能方法和高級(jí)獲取功能方法。

3) IO流

了解什么是IO流,IO流的用途;熟練掌握輸入流、輸出流、字符流、字節(jié)流、IO流的常用基類;如何使用字節(jié)流讀寫數(shù)據(jù)、復(fù)制數(shù)據(jù);什么是字節(jié)緩沖流,如何使用字節(jié)緩沖流讀寫數(shù)據(jù);什么是轉(zhuǎn)換流,如何使用轉(zhuǎn)換流更加高效的讀寫數(shù)據(jù),內(nèi)存操作流、打印流、標(biāo)準(zhǔn)輸入輸出流、序列化流、Properties集合。

4) IO流練習(xí)

(1) 復(fù)制文本文件;

(2) 復(fù)制圖片;

(3) 把ArrayList集合中的字符串?dāng)?shù)據(jù)存儲(chǔ)到文本文件;

(4) 從文本文件中讀取數(shù)據(jù)(每一行為一個(gè)字符串?dāng)?shù)據(jù))到集合中,并遍歷集合;

(5) 復(fù)制單極文件夾;

(6) 復(fù)制單極文件夾中指定文件并修改文件名稱;

(7) 復(fù)制多極文件夾;

(8) 已知s.txt文件中有這樣的一個(gè)字符串:“hcexfgijkamdnoqrzstuvwybpl”;

(9) 請(qǐng)編寫程序讀取數(shù)據(jù)內(nèi)容,把數(shù)據(jù)排序后寫入ss.txt中;

(10) 獲取每次讀取數(shù)據(jù)的行號(hào);

(11) 登錄注冊(cè)IO版。

7. 多線程

是指從軟件或者硬件上實(shí)現(xiàn)多個(gè)線程并發(fā)執(zhí)行的技術(shù)。具有多線程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多于一個(gè)線程,進(jìn)而提升整體處理性能。具有這種能力的系統(tǒng)包括對(duì)稱多處理機(jī)、多核心處理器以及芯片級(jí)多處理(Chip-level multithreading)或同時(shí)多線程(Simultaneousmultithreading)處理器。在一個(gè)程序中,這些獨(dú)立運(yùn)行的程序片段叫作“線程”(Thread),利用它編程的概念就叫作“多線程處理(Multithreading)”。具有多線程能力的計(jì)算機(jī)因有硬件支持而能夠在同一時(shí)間執(zhí)行多于一個(gè)線程(臺(tái)灣譯作“執(zhí)行緒”),進(jìn)而提升整體處理性能。

1) 多線程

了解什么是線程,什么是多線程,理解java程序的運(yùn)行原理,掌握多線程的實(shí)現(xiàn)方案,如何獲取和設(shè)置線程名稱、線程的生命周期、如何解決線程安全問題、線程同步、Lock鎖、死鎖問題、線程間通信、線程的狀態(tài)及狀態(tài)轉(zhuǎn)換、線程池。

2) 多線程面試題

(1) 多線程有幾種實(shí)現(xiàn)方案,分別是哪幾種?

(2) 同步有幾種方式,分別是什么?

(3) 啟動(dòng)一個(gè)線程是run()還是start()?它們的區(qū)別?

(4) sleep()和wait()方法的區(qū)別;

(5) 為什么wait(),notify(),notifyAll()等方法都定義在Object類中;

(6) 線程的生命周期圖。

3) 設(shè)計(jì)模式

了解什么是設(shè)計(jì)模式,設(shè)計(jì)模式的分類,熟練掌握單例設(shè)計(jì)模式(懶漢式、餓漢式)。

8. 網(wǎng)絡(luò)編程

網(wǎng)絡(luò)編程最主要的工作就是在發(fā)送端把信息通過規(guī)定好的協(xié)議進(jìn)行組裝包,在接收端按照規(guī)定好的協(xié)議把包進(jìn)行解析,從而提取出對(duì)應(yīng)的信息,達(dá)到通信的目的。

1586329047764_java.jpg


JAVA反射機(jī)制是在運(yùn)行狀態(tài)中,對(duì)于任意一個(gè)類,都能夠知道這個(gè)類的所有屬性和方法;對(duì)于任意一個(gè)對(duì)象,都能夠調(diào)用它的任意一個(gè)方法和屬性;這種動(dòng)態(tài)獲取的信息以及動(dòng)態(tài)調(diào)用對(duì)象的方法的功能稱為java語(yǔ)言的反射機(jī)制。

10. Mysql及JDBC開發(fā)

MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),目前屬于 Oracle 旗下產(chǎn)品。MySQL 最流行的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),在 WEB 應(yīng)用方面MySQL是最好的 RDBMS (Relational DatabaseManagement System,關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)) 應(yīng)用軟件之一。

JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問,它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC執(zhí)行SQL語(yǔ)句操作數(shù)據(jù)庫(kù)。

1) Mysql數(shù)據(jù)庫(kù)

數(shù)據(jù)庫(kù)使用、mysql的安裝與卸載、mysql賬號(hào)管理,SQL語(yǔ)句介紹、數(shù)據(jù)庫(kù)增刪改操作DDL語(yǔ)句使用、表增刪改操作DML語(yǔ)句使用、表查詢操作DQL語(yǔ)句使用、以及查詢語(yǔ)句條件、排序、聚合、分組操作。

2) JDBC開發(fā)

JDBC介紹、驅(qū)動(dòng)的原理及使用、JDBC核心使用、DriverManager、Connection、Statement、ResultSet詳細(xì)使用,JDBC的CURD操作、防止SQL注入及PrepareStatement使用、大數(shù)據(jù)處理、批處理。

3) DBUtils開發(fā)

1586329057691_java02.jpg


成為一名Java開發(fā)工程師,上面的內(nèi)容是首要必學(xué)的知識(shí)點(diǎn)。認(rèn)真的講,基礎(chǔ)知識(shí)學(xué)好了,后面的知識(shí)點(diǎn)學(xué)習(xí)會(huì)非常容易,都是在基礎(chǔ)上或添加或者變化的。想要更全面的了解Java,歡迎你咨詢黑馬程序員官網(wǎng),黑馬程序員十年Java教學(xué),堅(jiān)守“為莘莘學(xué)子改變命運(yùn)而講課”這份情懷,不忘初心。

推薦了解2020年黑馬程序員中級(jí)程序員學(xué)習(xí)線路圖


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!