歡迎光臨中圖網(wǎng) 請 | 注冊
> >>
瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng)

瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng)

作者:李剛
出版社:電子工業(yè)出版社出版時(shí)間:2021-04-01
開本: 16開 頁數(shù): 452
中 圖 價(jià):¥49.7(4.6折) 定價(jià)  ¥108.0 登錄后可看到會(huì)員價(jià)
加入購物車 收藏
運(yùn)費(fèi)6元,滿39元免運(yùn)費(fèi)
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個(gè)別圖書品相8-9成新、切口
有劃線標(biāo)記、光盤等附件不全詳細(xì)品相說明>>
本類五星書更多>

瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng) 版權(quán)信息

瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng) 本書特色

適讀人群 :-1~3年的Java開發(fā)人員,計(jì)算機(jī)及相關(guān)專業(yè)本科及研究生1. 針對技術(shù)痛點(diǎn),補(bǔ)齊面試短板本書**部分的Java內(nèi)存管理和第三部分的Java算法實(shí)現(xiàn),可以說是絕大多數(shù)初中級(jí)程序員以前注意不夠的地方,也是限制其職業(yè)提升的主要短板,認(rèn)真掌握這兩部分內(nèi)容,不僅能有效地解決技術(shù)痛點(diǎn),也能迅速提高面試成功率,敲開進(jìn)入大廠的大門。 2.從實(shí)踐中來,回歸實(shí)踐本身無論是本書第二部分的避“坑”指南,還是本書第四部分的實(shí)用心法,它們都是實(shí)踐性非常強(qiáng)的內(nèi)容,并不是某個(gè)具體的理論知識(shí)點(diǎn),這些內(nèi)容不僅能讓開發(fā)者終身受益,而且,如果開發(fā)者能在面試中自信、從容地介紹它們,一定會(huì)讓面試官刮目相看。 3. 贈(zèng)1500分鐘Java講解視頻,72道Java后端和微服務(wù)面試題,本書相關(guān)代碼。獲取方式見封面。 4.加入作者的技術(shù)群交流學(xué)習(xí)。

瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng) 內(nèi)容簡介

本書歸納了Java學(xué)習(xí)者、工作者在工作和面試中很容易遭遇的技術(shù)短板和算法基礎(chǔ),本書把Java編程中的要點(diǎn)、難點(diǎn)和Java程序員推薦的算法基礎(chǔ)知識(shí)收集在一起,旨在幫助讀者有針對性地提高這些看似“司空見慣”的基本功。本書內(nèi)容分為四個(gè)部分,其中部分主要介紹Java內(nèi)存管理,這部分是大多數(shù)Java程序員很容易忽略的地方――因?yàn)镴ava不像C語言,而且Java提供了垃圾回收機(jī)制,因此導(dǎo)致許多Java程序員對內(nèi)存管理重視不夠;第二部分主要介紹Java編程過程中各種常見的陷阱,這些陷阱有的來自李剛老師早年的痛苦經(jīng)歷,有的來自他的眾多學(xué)生的痛苦經(jīng)歷,都是Java程序員在編程過程中的“前車之鑒”,希望讀者能引以為戒;第三部分主要介紹學(xué)習(xí)Java推薦的算法基礎(chǔ)知識(shí),包括常用數(shù)據(jù)結(jié)構(gòu)的各種算法實(shí)現(xiàn),這部分內(nèi)容是大多數(shù)Java程序員重視不夠的地方,也是大廠面試的?济嬖囶};第四部分主要介紹Java程序開發(fā)的方法、經(jīng)驗(yàn)等,它們是李剛老師多年的實(shí)際開發(fā)經(jīng)驗(yàn)、培訓(xùn)經(jīng)驗(yàn)的總結(jié),符合初學(xué)者的習(xí)慣,更能滿足初學(xué)者的需要,因此掌握這些開發(fā)方法、經(jīng)驗(yàn)可以更有效地進(jìn)行開發(fā)。

瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng) 目錄

第1章 數(shù)組及其內(nèi)存管理

1.1 數(shù)組初始化

1.1.1 Java數(shù)組是靜態(tài)的

1.1.2 數(shù)組一定要初始化嗎

1.1.3 基本類型數(shù)組的初始化

1.1.4 引用類型數(shù)組的初始化

1.2 使用數(shù)組

1.2.1 數(shù)組元素就是變量

1.2.2 沒有多維數(shù)組

1.3 本章小結(jié)

第2章 對象及其內(nèi)存管理

2.1 實(shí)例變量和類變量

2.1.1 實(shí)例變量和類變量的屬性

2.1.2 實(shí)例變量的初始化時(shí)機(jī)

2.1.3 類變量的初始化時(shí)機(jī)

2.2 父類構(gòu)造器

2.2.1 隱式調(diào)用和顯式調(diào)用

2.2.2 訪問子類對象的實(shí)例變量

2.2.3 調(diào)用被子類重寫的方法

2.3 父、子實(shí)例的內(nèi)存控制

2.3.1 繼承成員變量和繼承方法的區(qū)別

2.3.2 內(nèi)存中子類實(shí)例

2.3.3 父、子類的類變量

2.4 final修飾符

2.4.1 final修飾的變量

2.4.2 執(zhí)行“宏替換”的變量

2.4.3 final方法不能被重寫

2.4.4 內(nèi)部類中的局部變量

2.5 本章小結(jié)

第3章 常見Java集合的實(shí)現(xiàn)細(xì)節(jié)

3.1 Set和Map

3.1.1 Set和Map的關(guān)系

3.1.2 HashMap和HashSet

3.1.3 TreeMap和TreeSet

3.2 Map和List

3.2.1 Map的values()方法

3.2.2 Map和List的關(guān)系

3.3 ArrayList和LinkedList

3.3.1 Vector和ArrayList的區(qū)別

3.3.2 ArrayList和LinkedList的實(shí)現(xiàn)差異

3.3.3 ArrayList和LinkedList的性能分析及適用場景

3.4 Iterator迭代器

3.4.1 Iterator實(shí)現(xiàn)類與迭代器模式

3.4.2 迭代時(shí)刪除指定元素

3.5 本章小結(jié)

第4章 Java的內(nèi)存回收

4.1 Java引用的種類

4.1.1 對象在內(nèi)存中的狀態(tài)

4.1.2 強(qiáng)引用

4.1.3 軟引用

4.1.4 弱引用

4.1.5 虛引用

4.2 Java的內(nèi)存泄漏

4.3 垃圾回收機(jī)制

4.3.1 垃圾回收的基本算法

4.3.2 堆內(nèi)存的分代回收

4.3.3 與垃圾回收相關(guān)的附加選項(xiàng)

4.3.4 常見的垃圾回收器

4.4 內(nèi)存管理小技巧

4.4.1 盡量使用直接量

4.4.2 使用StringBuilder和StringBuffer進(jìn)行字符串連接

4.4.3 盡早釋放無用對象的引用

4.4.4 盡量少用靜態(tài)變量

4.4.5 避免在經(jīng)常調(diào)用的方法、循環(huán)中創(chuàng)建Java對象

4.4.6 緩存經(jīng)常使用的對象

4.4.7 避免使用finalize方法

4.4.8 考慮使用SoftReference

4.5 本章小結(jié)

第5章 表達(dá)式中的陷阱

5.1 關(guān)于字符串的陷阱

5.1.1 JVM對字符串的處理

5.1.2 不可變的字符串

5.1.3 字符串比較

5.2 表達(dá)式類型的陷阱

5.2.1 表達(dá)式類型的自動(dòng)提升

5.2.2 復(fù)合賦值運(yùn)算符的陷阱

5.2.3 二進(jìn)制整數(shù)的陷阱

5.3 輸入法導(dǎo)致的陷阱

5.4 注釋字符必須合法

5.5 轉(zhuǎn)義字符的陷阱

5.5.1 慎用字符的Unicode轉(zhuǎn)義形式

5.5.2 中止行注釋的轉(zhuǎn)義字符

5.6 泛型可能引起的錯(cuò)誤

5.6.1 原始類型變量的賦值

5.6.2 原始類型帶來的擦除

5.6.3 創(chuàng)建泛型數(shù)組的陷阱

5.7 正則表達(dá)式的陷阱

5.8 多線程的陷阱

5.8.1 不要調(diào)用run方法

5.8.2 靜態(tài)的同步方法

5.8.3 靜態(tài)初始化塊啟動(dòng)新線程執(zhí)行初始化

5.8.4 注意多線程執(zhí)行環(huán)境

5.9 本章小結(jié)

第6章 流程控制的陷阱

6.1 switch語句的陷阱

6.1.1 default分支永遠(yuǎn)會(huì)執(zhí)行嗎

6.1.2 break的重要性

6.1.3 switch支持的數(shù)據(jù)類型

6.2 標(biāo)簽引起的陷阱

6.3 if語句的陷阱

6.3.1 else隱含的條件

6.3.2 小心空語句

6.4 循環(huán)體的花括號(hào)

6.4.1 什么時(shí)候可以省略花括號(hào)

6.4.2 省略花括號(hào)的危險(xiǎn)

6.5 for循環(huán)的陷阱

6.5.1 分號(hào)惹的禍

6.5.2 小心循環(huán)計(jì)數(shù)器的值

6.5.3 浮點(diǎn)數(shù)作為循環(huán)計(jì)數(shù)器

6.6 foreach循環(huán)的循環(huán)計(jì)數(shù)器

6.7 流式編程的陷阱

6.7.1 map與flatMap的區(qū)別

6.7.2 collect與map的區(qū)別

6.8 本章小結(jié)

第7章 面向?qū)ο蟮南葳?

7.1 instanceof運(yùn)算符的陷阱

7.2 構(gòu)造器的陷阱

7.2.1 構(gòu)造器之前的void

7.2.2 構(gòu)造器創(chuàng)建對象嗎

7.2.3 無限遞歸的構(gòu)造器

7.3 持有當(dāng)前類的實(shí)例

7.4 到底調(diào)用哪個(gè)重載的方法

7.5 方法重寫的陷阱

7.5.1 重寫private方法

7.5.2 重寫其他訪問權(quán)限的方法

7.6 非靜態(tài)內(nèi)部類的陷阱

7.6.1 非靜態(tài)內(nèi)部類的構(gòu)造器

7.6.2 非靜態(tài)內(nèi)部類不能擁有靜態(tài)成員

7.6.3 非靜態(tài)內(nèi)部類的子類

7.7 static關(guān)鍵字

7.7.1 靜態(tài)方法屬于類

7.7.2 靜態(tài)內(nèi)部類的限制

7.8 native方法的陷阱

7.9 本章小結(jié)

第8章 異常處理的陷阱

8.1 正確關(guān)閉資源的方式

8.1.1 傳統(tǒng)關(guān)閉資源的方式

8.1.2 使用自動(dòng)關(guān)閉資源的try語句

8.2 finally塊的陷阱

8.2.1 finally的執(zhí)行規(guī)則

8.2.2 finally塊和方法返回值

8.3 catch塊的用法

8.3.1 catch塊的順序

8.3.2 不要用catch代替流程控制

8.3.3 應(yīng)該只catch可能拋出的異常

8.3.4 做點(diǎn)實(shí)際的修復(fù)

8.4 繼承得到的異常

8.5 本章小結(jié)

第9章 線性表

9.1 線性表概述

9.1.1 線性表的定義及邏輯結(jié)構(gòu)

9.1.2 線性表的基本操作

9.2 順序存儲(chǔ)結(jié)構(gòu)

9.3 鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)

9.3.1 單鏈表上的基本運(yùn)算

9.3.2 循環(huán)鏈表

9.3.3 雙向鏈表

9.4 線性表的分析

9.4.1 線性表的實(shí)現(xiàn)分析

9.4.2 線性表的功能

9.5 本章小結(jié)

第10章 棧和隊(duì)列

10.1 棧

10.1.1 棧的基本定義

10.1.2 棧的常用操作

10.1.3 棧的順序存儲(chǔ)結(jié)構(gòu)及實(shí)現(xiàn)

10.1.4 棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及實(shí)現(xiàn)

10.1.5 Java集合中的棧

10.2 隊(duì)列

10.2.1 隊(duì)列的基本定義

10.2.2 隊(duì)列的常用操作

10.2.3 隊(duì)列的順序存儲(chǔ)結(jié)構(gòu)及實(shí)現(xiàn)

10.2.4 循環(huán)隊(duì)列

10.2.5 隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)及實(shí)現(xiàn)

10.2.6 Java集合中的隊(duì)列

10.3 雙端隊(duì)列

10.4 本章小結(jié)

第11章 樹和二叉樹

11.1 樹的概述

11.1.1 樹的定義和基本術(shù)語

11.1.2 樹的基本操作

11.1.3 父節(jié)點(diǎn)表示法

11.1.4 子節(jié)點(diǎn)鏈表示法

11.2 二叉樹

11.2.1 二叉樹的定義和基本概念

11.2.2 二叉樹的基本操作

11.2.3 二叉樹的順序存儲(chǔ)

11.2.4 二叉樹的二叉鏈表存儲(chǔ)

11.2.5 二叉樹的三叉鏈表存儲(chǔ)

11.3 遍歷二叉樹

11.3.1 先序遍歷

11.3.2 中序遍歷

11.3.3 后序遍歷

11.3.4 廣度優(yōu)先(按層)遍歷

11.4 轉(zhuǎn)換方法

11.4.1 森林、樹和二叉樹的轉(zhuǎn)換

11.4.2 樹的鏈表存儲(chǔ)

11.5 哈夫曼樹

11.5.1 哈夫曼樹的定義和基本概念

11.5.2 創(chuàng)建哈夫曼樹

11.5.3 哈夫曼編碼

11.6 排序二叉樹

11.7 紅黑樹

11.7.1 插入操作

11.7.2 刪除操作

11.8 本章小結(jié)

第12章 常見的內(nèi)部排序

12.1 排序的基本概念

12.1.1 排序概述

12.1.2 內(nèi)部排序的分類

12.2 選擇排序法

12.2.1 直接選擇排序

12.2.2 堆排序

12.3 交換排序

12.3.1 冒泡排序

12.3.2 快速排序

12.4 插入排序

12.4.1 直接插入排序

12.4.2 折半插入排序

12.4.3 Shell排序

12.5 歸并排序

12.6 桶式排序

12.7 基數(shù)排序

12.8 本章小結(jié)

第13章 程序開發(fā)經(jīng)驗(yàn)談

13.1 扎實(shí)的基本功

13.1.1 快速的輸入能力

13.1.2 編程實(shí)現(xiàn)能力

13.1.3 快速排錯(cuò)

13.2 程序開發(fā)之前

13.2.1 分析軟件的組件模型

13.2.2 建立軟件的數(shù)據(jù)模型

13.3 厘清程序的實(shí)現(xiàn)流程

13.3.1 各組件如何通信

13.3.2 人機(jī)交互的實(shí)現(xiàn)

13.3.3 復(fù)雜算法的分析

13.4 編寫開發(fā)文檔

13.4.1 繪制建模圖、流程圖

13.4.2 提供簡要說明

13.4.3 編寫偽碼實(shí)現(xiàn)

13.5 編碼實(shí)現(xiàn)和開發(fā)心態(tài)

13.5.1 開發(fā)是復(fù)雜的

13.5.2 開發(fā)過程是漫長的

13.6 本章小結(jié)

第14章 程序調(diào)試經(jīng)驗(yàn)談

14.1 程序的可調(diào)試性

14.1.1 增加注釋

14.1.2 使用日志

14.2 程序調(diào)試的基本方法

14.2.1 借助于編譯器的代碼審查

14.2.2 跟蹤程序執(zhí)行流程

14.2.3 斷點(diǎn)調(diào)試

14.2.4 隔離調(diào)試

14.2.5 錯(cuò)誤重現(xiàn)

14.3 記錄常見錯(cuò)誤

14.3.1 常見異?赡艿腻e(cuò)誤原因

14.3.2 常見運(yùn)行時(shí)異?赡艿腻e(cuò)誤原因

14.4 程序調(diào)試的整體思路

14.4.1 分段調(diào)試

14.4.2 分模塊調(diào)試

14.5 調(diào)試心態(tài)

14.5.1 誰都會(huì)出錯(cuò)

14.5.2 調(diào)試比寫程序更費(fèi)時(shí)

14.6 本章小結(jié)

第15章 IDE工具心法談

15.1 何時(shí)開始利用IDE工具

15.2 IDE工具概述

15.2.1 IDE工具的基本功能

15.2.2 常見的Java IDE工具

15.3 項(xiàng)目管理

15.3.1 建立項(xiàng)目

15.3.2 自動(dòng)編譯

15.3.3 自動(dòng)部署、運(yùn)行

15.4 代碼管理

15.4.1 代碼生成器

15.4.2 代碼提示

15.4.3 自動(dòng)代碼補(bǔ)齊

15.4.4 實(shí)時(shí)錯(cuò)誤提示

15.5 項(xiàng)目調(diào)試

15.5.1 設(shè)置斷點(diǎn)

15.5.2 單步調(diào)試

15.5.3 步入、步出

15.6 團(tuán)隊(duì)協(xié)作功能

15.7 本章小結(jié)

第16章 軟件測試經(jīng)驗(yàn)談

16.1 軟件測試概述

16.1.1 軟件測試的概念和目的

16.1.2 軟件測試的分類

16.1.3 開發(fā)活動(dòng)和測試活動(dòng)

16.1.4 常見的Bug管理工具

16.2 單元測試

16.2.1 單元測試概述

16.2.2 單元測試的邏輯覆蓋

16.2.3 JUnit介紹

16.2.4 JUnit 5.x的用法

16.3 系統(tǒng)測試和自動(dòng)化測試

16.3.1 系統(tǒng)測試概述

16.3.2 自動(dòng)化測試

16.3.3 常見的自動(dòng)化測試工具

16.4 性能測試

16.4.1 性能測試概述

16.4.2 性能測試相關(guān)概念

16.4.3 常見的性能測試工具

16.5 本章小結(jié)


展開全部

瘋狂Java面試講義 數(shù)據(jù)結(jié)構(gòu)、算法與技術(shù)素養(yǎng) 作者簡介

李剛,十余年軟件開發(fā)從業(yè)經(jīng)驗(yàn),瘋狂軟件教育中心教學(xué)總監(jiān)。瘋狂Java實(shí)訓(xùn)營創(chuàng)始人,瘋狂Java體系原創(chuàng)圖書作者。CSDN特邀講師。培訓(xùn)的學(xué)生已在騰訊、阿里、華為、IBM、網(wǎng)易等名企就職。國內(nèi)知名高端IT技術(shù)圖書作家,已出版《瘋狂Java講義》《瘋狂Python講義》《瘋狂Android講義》《輕量級(jí)Java EE企業(yè)應(yīng)用實(shí)戰(zhàn)》《瘋狂前端開發(fā)講義》《瘋狂HTML5/CSS3/JavaScript講義》等著作。其中瘋狂Java體系圖書均已沉淀多年,贏得極高的市場認(rèn)同,多次重印,多部著作印刷數(shù)量超過10萬冊,并被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權(quán)到寶島臺(tái)灣。

商品評論(0條)
暫無評論……
書友推薦
編輯推薦
返回頂部
中圖網(wǎng)
在線客服