Java 圖解創意編程:從菜鳥到互聯網大廠之路

胡東鋒

  • 出版商: 清華大學
  • 出版日期: 2023-01-01
  • 定價: $894
  • 售價: 8.5$760
  • 語言: 簡體中文
  • ISBN: 7302621993
  • ISBN-13: 9787302621997
  • 相關分類: Java 程式語言zookeeper
  • 立即出貨

  • Java 圖解創意編程:從菜鳥到互聯網大廠之路-preview-1
  • Java 圖解創意編程:從菜鳥到互聯網大廠之路-preview-2
  • Java 圖解創意編程:從菜鳥到互聯網大廠之路-preview-3
Java 圖解創意編程:從菜鳥到互聯網大廠之路-preview-1

買這商品的人也買了...

相關主題

商品描述

本書從問題入手,使用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