Java 圖解創意編程:從菜鳥到互聯網大廠之路
胡東鋒
買這商品的人也買了...
-
$480$360 -
$460$359 -
$316Java 項目開發實戰密碼 (贏在項目開發)(附光盤)
-
$320$250 -
$450$356 -
$352Java程序員面試算法寶典
-
$294$279 -
$550$429 -
$620$484 -
$534$507 -
$458代碼中的軟件工程
-
$301JavaScript 前端開發與實例教程 (微課視頻版)
-
$828$787 -
$534$507 -
$510算法大爆炸:面試通關步步為營
-
$880$660 -
$648$616 -
$1,280$845 -
$800$632 -
$880$660 -
$454玩轉 Java -- 手把手教你編寫 300個精彩案例
-
$509$479 -
$534$507 -
$534$507 -
$407GPT 圖解 : 大模型是怎樣構建的
相關主題
商品描述
本書從問題入手,使用100多個創意編程範例,試圖在深入理解原理的基礎上,通過自造“輪子”幫助讀者提升代碼編寫功底和工程實現能力。全書分為12章,內容包括Java入門、分形圖像處理、數據結構、網絡通信、動態裝載、多線程、Raft協議、分佈式編程和ZooKeeper框架等,由淺入深實現“美顏相機”“迷你通信會議”“迷你Web服務器”“迷你Raft”等項目。本書針對每一個範例,首先給出代碼實現和重要知識點,然後提出任務以使讀者發揮創意,提升代碼編寫技能。 本書由淺入深,有趣有料,適合想提升代碼編寫水平的大學生、求職者、編程愛好者閱讀,也適合有1~2年開發經驗的程序員參考,還可以作為各類培訓班的培訓教材。
目錄大綱
目錄
第1章 OOP上手 / 1
1.1 安裝開發環境 / 2
1.2 使用Eclipse / 3
1.3 代碼“跑”起來 / 4
1.4 類與對象編寫規則 / 5
1.5 類的繼承 / 7
1.6 參數傳遞 / 10
1.7 接口的用法 / 12
1.8 仿QQ登錄界面 / 13
1.9 更多界面組件 / 15
1.10 按鈕事件的實現 / 18
1.11 驗證輸入框內容 / 19
1.12 界面的鼠標事件 / 21
1.13 界面上畫圖 / 22
1.14 鼠標寫字 / 23
1.15 重寫方法中畫圖 / 24
1.16 溫故知新 / 26
第2章 分形之美 / 27
2.1 代碼能做什麽 / 28
2.2 畫出3D圖形 / 29
2.3 多態與傳參 / 30
2.4 按鈕監聽器傳參 / 32
2.5 多重繼承 / 36
2.6 迭代分形 / 39
2.7 數值轉換 / 40
2.8 遞歸分形 / 44
2.9 謝爾賓斯基三角形 / 46
2.10 門格海綿 / 49
2.11 混沌游戲 / 55
2.12 科赫曲線 / 55
2.13 編寫代碼畫“千變之樹” / 58
2.14 編寫代碼“造山” / 61
2.15 經典之作——曼德勃羅集 / 65
第3章 創意項目實踐 / 69
3.1 美顏相機之圖像特效 / 70
3.2 深入理解顏色 / 72
3.3 圖片特效實現 / 73
3.4 圖像捲積算法 / 76
3.5 視頻的獲取與繪制 / 79
3.6 圖像雙緩沖處理 / 80
3.7 視頻的運動追蹤 / 82
3.8 視頻哈哈鏡 / 83
3.9 五子棋開發 / 85
3.10 對戰游戲開發 / 89
3.11 生產消費模型 / 91
3.12 粒子運動系統 / 95
第4章 初探數據結構 / 103
4.1 數組的基本用法 / 104
4.2 數組排序與時間復雜度 / 106
4.3 多維數組 / 110
4.4 數組隊列的實現 / 112
4.5 鏈表隊列 / 113
4.6 哈希表實現 / 116
4.7 哈希表的4個關鍵問題 / 119
4.8 集合框架 / 120
4.9 二叉樹結構 / 121
4.10 使用JTree組件 / 123
4.11 哈夫曼樹應用 / 126
第5章 迷你視頻會議項目的實現 / 132
5.1 上手編寫通信服務器 / 133
5.2 基本客戶端 / 135
5.3 項目編碼規範 / 136
5.4 網絡畫板 / 138
5.5 客戶端實現 / 141
5.6 字畫同屏 / 146
5.7 通信協議制定 / 147
5.8 網絡畫板服務器代碼 / 148
5.9 網絡畫板客戶端代碼 / 153
5.10 視頻通信實現 / 157
5.11 視頻通信客戶端代碼 / 160
5.12 視頻通信的性能優化 / 163
5.13 簡版錄像播放器 / 165
5.14 使用內存字節流 / 168
5.15 群發功能服務器實現 / 169
5.16 迷你會議項目拓展 / 173
第6章 迷你RPC框架的實現 / 174
6.1 為了簡單地生活 / 175
6.2 迷你RPC框架分析 / 176
6.3 RPC公共代碼實現 / 177
6.4 迷你RPC服務器代碼實現 / 178
6.5 分發公用庫給客戶端 / 179
6.6 客戶端編碼實現 / 181
6.7 註意事項 / 182
6.8 配置文件設計 / 183
6.9 XML配置格式設計 / 184
6.10 使用Dom4j解析XML / 185
6.11 RPC服務器發布設計 / 186
第7章 從Spring到迷你Web服務器 / 190
7.1 Spring初體驗 / 191
7.2 Spring RPC客戶端調用 / 194
7.3 應用Apache HttpClient / 195
7.4 Tomcat快速上手 / 197
7.5 編寫Servlet / 201
7.6 在Servlet中接收請求 / 205
7.7 從零實現WebServer項目 / 208
7.8 HTTP分析 / 209
7.9 session原理測試 / 210
7.10 迷你Web服務器實現 / 214
第8章 再探二叉樹 / 222
8.1 二叉樹分類 / 223
8.2 圖解二叉樹 / 224
8.3 二叉搜索樹 / 225
8.4 堆排序樹 / 227
8.5 紅黑樹 / 229
8.6 手建紅黑樹 / 230
8.7 樹的旋轉 / 231
8.8 編碼極簡紅黑樹 / 233
8.9 B+樹 / 238
8.10 B+樹代碼實現 / 242
第9章 類的動態裝載 / 248
9.1 三分鐘上手Robocode / 249
9.2 迷你Robocode初步實現 / 250
9.3 動態添加機器人 / 252
9.4 理解動態加載 / 254
9.5 面向接口編程 / 256
9.6 工廠設計模式的改進 / 257
9.7 反射Class對象 / 258
9.8 動態創建對象 / 260
9.9 動態調用方法 / 262
9.10 代理一個對象 / 263
9.11 代理接口虛擬調用 / 266
9.12 CLASS文件探秘 / 267
9.13 編寫一個Java編譯器 / 274
9.14 類ACM網站代碼編譯 / 275
9.15 安全沙箱運行 / 277
9.16 Class.forName源碼解析 / 281
9.17 類的卸載 / 284
9.18 對象的回收 / 288
第10章 深入線程 / 295
10.1 無處不在的生產消費模型 / 296
10.2 簡單生產消費模型 / 297
10.3 基於wait/notify的生產消費模型 / 298
10.4 wait/notify探秘 / 300
10.5 鎖定對象意味著什麽 / 301
10.6 ReentrantLock / 302
10.7 阻塞隊列實現線程通信 / 306
10.8 自己造個BlockingQueue / 308
10.9 為什麽需要線程池 / 309
10.10 真正的Thread在哪裡 / 311
10.11 線程池的必要性 / 317
10.12 用線程池送咖啡 / 318
10.13 自造迷你版線程池 / 322
10.14 用Future送咖啡 / 326
10.15 回調的實現 / 327
第11章 迷你Raft的實現 / 330
11.1 分佈式是什麽 / 331
11.2 CAP理論 / 332
11.3 拜占庭將軍的共識 / 333
11.4 Paxos的淵源 / 334
11.5 Raft第一步:選舉 / 335
11.6 Raft第二步:日誌復制 / 336
11.7 Raft的心跳信號 / 337
11.8 Raft的編碼實現 / 338
11.9 分析系統中有哪些對象 / 339
11.10 通過網絡收發對象 / 342
11.11 編寫業務流程 / 345
11.12 拉票流程實現 / 346
11.13 發送心跳流程的實現 / 350
11.14 客戶端存取數據處理 / 352
11.15 實現日誌復制過程 / 355
11.16 數據的本地保存 / 359
第12章 菜鳥學ZooKeeper / 362
12.1 檢測JDK環境 / 363
12.2 下載安裝ZooKeeper / 364
12.3 啟動ZooKeeper / 366
12.4 自動選舉測試 / 368
12.5 客戶端連接 / 369
12.6 zNode常用命令 / 369
12.7 zNode權限設置 / 370
12.8 ZooKeeper客戶端編程 / 371
12.9 監聽機制 / 373
12.10 下載ZooKeeper源碼 / 374
12.11 在Eclipse中配置ZooKeeper
源碼 / 375
12.12 ZooKeeper實現分佈式鎖的
思路 / 376
12.13 分佈式共享鎖分析 / 377
12.14 分佈式共享鎖編碼的實現 / 382
12.15 分佈式獨占鎖的實現 / 384
12.16 miniCloud項目分析 / 387
12.17 文件上傳實現 / 391
12.18 文件下載 / 393