中图网(原中国图书网):网上书店,中文字幕在线一区二区三区,尾货特色书店,中文字幕在线一区,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 瘋狂Java講義

作者:李剛編著
出版社:電子工業出版社出版時間:2018-01-01
開本: 16開 頁數: 896
中 圖 價:¥47.9(4.4折) 定價  ¥109.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
溫馨提示:5折以下圖書主要為出版社尾貨,大部分為全新(有塑封/無塑封),個別圖書品相8-9成新、切口
有劃線標記、光盤等附件不全詳細品相說明>>
本類五星書更多>
買過本商品的人還買了

瘋狂Java講義 版權信息

  • ISBN:9787121331084
  • 條形碼:9787121331084 ; 978-7-121-33108-4
  • 裝幀:簡裝本
  • 冊數:暫無
  • 重量:暫無
  • 所屬分類:>

瘋狂Java講義 本書特色

《瘋狂Java講義(第4版)》是《瘋狂Java講義》的第4版,第4版保持了前3版系統、全面、講解淺顯、細致的特性,全面新增介紹了Java 9的新特性。
《瘋狂Java講義(第4版)》深入介紹了Java編程的相關方面,《瘋狂Java講義(第4版)》內容覆蓋了Java的基本語法結構、Java的面向對象特征、Java集合框架體系、Java泛型、異常處理、Java GUI編程、JDBC數據庫編程、Java注釋、Java的IO流體系、Java多線程編程、Java網絡通信編程和Java反射機制。覆蓋了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下絕大部分類和接口。本書重點介紹了Java 9的模塊化系統,還詳細介紹了Java 9的jshell工具、多版本JAR包、匿名內部類的菱形語法、增強的try語句、私有接口方法,以及Java 9新增的各種API功能!动偪馢ava講義(第4版)》是《瘋狂Java講義》的第4版,第4版保持了前3版系統、全面、講解淺顯、細致的特性,全面新增介紹了Java 9的新特性。
《瘋狂Java講義(第4版)》深入介紹了Java編程的相關方面,《瘋狂Java講義(第4版)》內容覆蓋了Java的基本語法結構、Java的面向對象特征、Java集合框架體系、Java泛型、異常處理、Java GUI編程、JDBC數據庫編程、Java注釋、Java的IO流體系、Java多線程編程、Java網絡通信編程和Java反射機制。覆蓋了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下絕大部分類和接口。本書重點介紹了Java 9的模塊化系統,還詳細介紹了Java 9的jshell工具、多版本JAR包、匿名內部類的菱形語法、增強的try語句、私有接口方法,以及Java 9新增的各種API功能。
與前3版類似,《瘋狂Java講義(第4版)》并不單純從知識角度來講解Java,而是從解決問題的角度來介紹Java語言,所以《瘋狂Java講義(第4版)》中涉及大量實用案例開發:五子棋游戲、梭哈游戲、仿QQ的游戲大廳、MySQL企業管理器、仿EditPlus的文本編輯器、多線程、斷點下載工具、Spring框架的IoC容器……這些案例既能讓讀者鞏固每章的知識,又可以讓讀者學以致用,激發編程自豪感,進而引爆內心的編程激情!动偪馢ava講義(第4版)》光盤里包含書中所有示例的代碼和《瘋狂Java實戰演義》的所有項目代碼,這些項目可以作為本書課后練習的“非標準答案”,如果讀者需要獲取關于課后習題的解決方法、編程思路,可以登錄http://www.crazyit.org站點與筆者及本書龐大的讀者群相互交流。

瘋狂Java講義 內容簡介

1)作者提供用于學習和交流的配套網站及作者親自在線的答疑微信群、QQ群。
2)DVD光盤中含
√ 1500分鐘圖書部分內容的相關視頻
√ 圖書配套代碼
√ Java面試題真題
√ PPT課件
√ 設計模式電子書
√ 有助于完成課后練習的大量完整案例
3)《瘋狂Java講義》歷時十年沉淀,現已升級到第4版,經過無數Java學習者的反復驗證,被包括北京大學在內的大量985、211高校的優秀教師引薦為參考資料、選作教材。
4)《瘋狂Java講義》曾翻譯為中文繁體字版,在寶島臺灣上市發行。
5)《瘋狂Java講義》屢獲殊榮,多次獲取電子工業出版社的“暢銷圖書”、“長銷圖書”獎項,作者本人也多次獲得“優秀作者”稱號。僅第3版一版的印量即達9萬多冊。
6)贈送線下課程優惠券。
7)介紹新知識時,通過巧妙的類比,將未知事物與已知事物進行類比,降低讀者的學習難度;對于一些復雜、易于混淆的語法,本書還歸納了瑯瑯上口的口訣,比如方法重寫的口訣,能讓讀者快速掌握Java的核心語法,并加深記憶。
8)《瘋狂Java講義》不是一本翻譯而來的Java圖書,書中不會有任何生僻、晦澀的翻譯詞匯,有的只是淺顯、易懂的表達;符合中國人思維習慣、學習方式,更適合中國人學習Java。

瘋狂Java講義 目錄


第1章 Java語言概述與開發環境 1
1.1 Java語言的發展簡史 2
1.2 Java程序運行機制 4
1.2.1 高級語言的運行機制 4
1.2.2 Java程序的運行機制和JVM 5
1.3 開發Java的準備 6
1.3.1 下載和安裝Java 9的JDK 6
學生提問:不是說JVM是運行Java程序的虛擬機嗎?那JRE和JVM的關系是怎樣的呢? 6
學生提問:為什么不安裝公共JRE呢? 8
1.3.2 設置PATH環境變量 9
學生提問:為什么選擇用戶變量?用戶變量與系統變量有什么區別? 10
1.4 **個Java程序 11
1.4.1 編輯Java源代碼 11
1.4.2 編譯Java程序 11
學生提問:當編譯C程序時,不僅需要指定存放目標文件的位置,也需要指定目標文件的文件名,這里使用javac編譯Java程序時怎么不需要指定目標文件的文件名呢? 12
1.4.3 運行Java程序 12
1.4.4 根據CLASSPATH環境變量定位類 13
1.5 Java程序的基本規則 14
1.5.1 Java程序的組織形式 14
1.5.2 Java源文件的命名規則 15
1.5.3 初學者容易犯的錯誤 15
1.6 JDK 9新增的jshell工具 17
1.7 Java 9的G1垃圾回收器 18
1.8 何時開始使用IDE工具 20
學生提問:我想學習Java編程,到底是學習Eclipse好,還是學習NetBeans好呢? 21
1.9 本章小結 21
本章練習 21

第2章 理解面向對象 22
2.1 面向對象 23
2.1.1 結構化程序設計簡介 23
2.1.2 程序的三種基本結構 24
2.1.3 面向對象程序設計簡介 26
2.1.4 面向對象的基本特征 27
2.2 UML(統一建模語言)介紹 28
2.2.1 用例圖 30
2.2.2 類圖 30
2.2.3 組件圖 32
2.2.4 部署圖 33
2.2.5 順序圖 33
2.2.6 活動圖 34
2.2.7 狀態機圖 35
2.3 Java的面向對象特征 36
2.3.1 一切都是對象 36
2.3.2 類和對象 36
2.4 本章小結 37

第3章 數據類型和運算符 38
3.1 注釋 39
3.1.1 單行注釋和多行注釋 39
3.1.2 Java 9增強文檔注釋 40
學生提問:API文檔是什么? 40
學生提問:為什么要學習查看API文檔的方法? 42
3.2 標識符和關鍵字 46
3.2.1 分隔符 46
3.2.2 Java 9的標識符規則 48
3.2.3 Java關鍵字 48
3.3 數據類型分類 48
學生提問:什么是變量?變量有什么用? 49
3.4 基本數據類型 49
3.4.1 整型 50
3.4.2 字符型 52
學生提問:什么是字符集? 52
3.4.3 浮點型 53
3.4.4 數值中使用下畫線分隔 54
3.4.5 布爾型 55
3.5 基本類型的類型轉換 55
3.5.1 自動類型轉換 56
3.5.2 強制類型轉換 57
3.5.3 表達式類型的自動提升 58
3.6 直接量 59
3.6.1 直接量的類型 59
3.6.2 直接量的賦值 60
3.7 運算符 61
3.7.1 算術運算符 61
3.7.2 賦值運算符 63
3.7.3 位運算符 64
3.7.4 擴展后的賦值運算符 66
3.7.5 比較運算符 67
3.7.6 邏輯運算符 68
3.7.7 三目運算符 69
3.7.8 運算符的結合性和優先級 69
3.8 本章小結 71
本章練習 71

第4章 流程控制與數組 72
4.1 順序結構 73
4.2 分支結構 73
4.2.1 if條件語句 73
4.2.2 Java 7增強后的switch分支語句 77
4.3 循環結構 79
4.3.1 while循環語句 79
4.3.2 do while循環語句 80
4.3.3 for循環 81
4.3.4 嵌套循環 84
4.4 控制循環結構 85
4.4.1 使用break結束循環 85
4.4.2 使用continue忽略本次循環剩下語句 86
4.4.3 使用return結束方法 87
4.5 數組類型 87
4.5.1 理解數組:數組也是一種類型 87
學生提問:int[]是一種類型嗎?怎么使用這種類型呢? 88
4.5.2 定義數組 88
4.5.3 數組的初始化 89
學生提問:能不能只分配內存空間,不賦初始值呢? 89
4.5.4 使用數組 90
學生提問:為什么要我記住這些異常信息? 90
4.5.5 foreach循環 91
4.6 深入數組 92
4.6.1 內存中的數組 92
為什么有棧內存和堆內存之分? 93
4.6.2 基本類型數組的初始化 95
4.6.3 引用類型數組的初始化 96
4.6.4 沒有多維數組 98
學生提問:我是否可以讓圖4.13中灰色覆蓋的數組元素再次指向另一個數組?這樣不就可以擴展成三維數組,甚至擴展成更多維的數組嗎? 99
4.6.5 Java 8增強的工具類:Arrays 100
4.6.6 數組的應用舉例 103
4.7 本章小結 106
本章練習 106

第5章 面向對象(上) 107
5.1 類和對象 108
5.1.1 定義類 108
構造器不是沒有返回值嗎?為什么不能用void聲明呢? 110
5.1.2 對象的產生和使用 111
5.1.3 對象、引用和指針 111
5.1.4 對象的this引用 112
5.2 方法詳解 116
5.2.1 方法的所屬性 116
5.2.2 方法的參數傳遞機制 117
5.2.3 形參個數可變的方法 120
5.2.4 遞歸方法 121
5.2.5 方法重載 123
學生提問:為什么方法的返回值類型不能用于區分重載的方法? 123
5.3 成員變量和局部變量 124
5.3.1 成員變量和局部變量是什么 124
5.3.2 成員變量的初始化和內存中的運行機制 127
5.3.3 局部變量的初始化和內存中的運行機制 129
5.3.4 變量的使用規則 130
5.4 隱藏和封裝 131
5.4.1 理解封裝 131
5.4.2 使用訪問控制符 131
5.4.3 package、import和import static 134
5.4.4 Java的常用包 139
5.5 深入構造器 139
5.5.1 使用構造器執行初始化 139
學生提問:構造器是創建Java對象的途徑,是不是說構造器完全負責創建Java對象? 140
5.5.2 構造器重載 140
學生提問:為什么要用this來調用另一個重載的構造器?我把另一個構造器里的代碼復制、粘貼到這個構造器里不就可以了嗎? 142
5.6 類的繼承 142
5.6.1 繼承的特點 142
5.6.2 重寫父類的方法 143
5.6.3 super限定 145
5.6.4 調用父類構造器 147
學生提問:為什么我創建Java對象時從未感覺到java.lang. Object類的構造器被調用過? 149
5.7 多態 149
5.7.1 多態性 149
5.7.2 引用變量的強制類型轉換 151
5.7.3 instanceof運算符 152
5.8 繼承與組合 153
5.8.1 使用繼承的注意點 153
5.8.2 利用組合實現復用 154
學生提問:使用組合關系來實現復用時,需要創建兩個Animal對象,是不是意味著使用組合關系時系統開銷更大? 157
5.9 初始化塊 157
5.9.1 使用初始化塊 157
5.9.2 初始化塊和構造器 159
5.9.3 靜態初始化塊 160
5.10 本章小結 162
本章練習 162

第6章 面向對象(下) 164
6.1 Java 8增強的包裝類 165
學生提問:Java為什么要對這些數據進行緩存呢? 168
6.2 處理對象 169
6.2.1 打印對象和toString方法 169
6.2.2 ==和equals方法 171
學生提問:上面程序中判斷obj是否為Person類的實例時,為何不用obj instanceof Person來判斷呢? 174
6.3 類成員 174
6.3.1 理解類成員 174
6.3.2 單例(Singleton)類 175
6.4 final修飾符 176
6.4.1 final成員變量 177
6.4.2 final局部變量 179
6.4.3 final修飾基本類型變量和引用類型變量的區別 179
6.4.4 可執行“宏替換”的final變量 180
6.4.5 final方法 182
6.4.6 final類 182
6.4.7 不可變類 183
6.4.8 緩存實例的不可變類 185
6.5 抽象類 188
6.5.1 抽象方法和抽象類 188
6.5.2 抽象類的作用 191
6.6 Java 9改進的接口 192
6.6.1 接口的概念 192
6.6.2 Java 9中接口的定義 193
6.6.3 接口的繼承 195
6.6.4 使用接口 196
6.6.5 接口和抽象類 197
6.6.6 面向接口編程 198
6.7 內部類 202
6.7.1 非靜態內部類 202
學生提問:非靜態內部類對象和外部類對象的關系是怎樣的? 205
6.7.2 靜態內部類 206
學生提問:為什么靜態內部類的實例方法也不能訪問外部類的實例屬性呢? 207
學生提問:接口里是否能定義內部接口? 208
6.7.3 使用內部類 208
學生提問:既然內部類是外部類的成員,那么是否可以為外部類定義子類,在子類中再定義一個內部類來重寫其父類中的內部類呢? 210
6.7.4 局部內部類 210
6.7.5 Java 8改進的匿名內部類 211
6.8 Java 8新增的Lambda表達式 214
6.8.1 Lambda表達式入門 214
6.8.2 Lambda表達式與函數式接口 217
6.8.3 方法引用與構造器引用 218
6.8.4 Lambda表達式與匿名內部類的聯系和區別 221
6.8.5 使用Lambda表達式調用Arrays的類
方法 222
6.9 枚舉類 223
6.9.1 手動實現枚舉類 223
6.9.2 枚舉類入門 223
6.9.3 枚舉類的成員變量、方法和構造器 225
6.9.4 實現接口的枚舉類 227
學生提問:枚舉類不是用final修飾了嗎?怎么還能派生子類呢? 228
6.9.5 包含抽象方法的枚舉類 228
6.10 對象與垃圾回收 229
6.10.1 對象在內存中的狀態 229
6.10.2 強制垃圾回收 230
6.10.3 finalize方法 231
6.10.4 對象的軟、弱和虛引用 233
6.11 修飾符的適用范圍 236
6.12 Java 9的多版本JAR包 237
6.12.1 jar命令詳解 237
6.12.2 創建可執行的JAR包 240
6.12.3 關于JAR包的技巧 241
6.13 本章小結 242
本章練習 242

第7章 Java基礎類庫 243
7.1 與用戶互動 244
7.1.1 運行Java程序的參數 244
7.1.2 使用Scanner獲取鍵盤輸入 245
7.2 系統相關 247
7.2.1 System類 247
7.2.2 Runtime類與Java 9的ProcessHandle 249
7.3 常用類 250
7.3.1 Object類 250
7.3.2 Java 7新增的Objects類 252
7.3.3 Java 9改進的String、StringBuffer和StringBuilder類 253
7.3.4 Math類 256
7.3.5 Java 7的ThreadLocalRandom與Random 258
7.3.6 BigDecimal類 260
7.4 日期、時間類 262
7.4.1 Date類 262
7.4.2 Calendar類 263
7.4.3 Java 8新增的日期、時間包 266
7.5 正則表達式 268
7.5.1 創建正則表達式 268
7.5.2 使用正則表達式 271
7.6 變量處理和方法處理 274
7.6.1 Java 9增強的MethodHandle 274
7.6.2 Java 9增加的VarHandle 275
7.7 Java 9改進的國際化與格式化 276
7.7.1 Java國際化的思路 277
7.7.2 Java支持的國家和語言 277
7.7.3 完成程序國際化 278
7.7.4 使用MessageFormat處理包含占位符的字符串 279
7.7.5 使用類文件代替資源文件 280
7.7.6 Java 9新增的日志API 281
7.7.7 使用NumberFormat格式化數字 283
7.7.8 使用DateFormat格式化日期、時間 284
7.7.9 使用SimpleDateFormat格式化日期 286
7.8 Java 8新增的日期、時間格式器 286
7.8.1 使用DateTimeFormatter完成格式化 287
7.8.2 使用DateTimeFormatter解析字符串 288
7.9 本章小結 289
本章練習 289

第8章 Java集合 290
8.1 Java集合概述 291
8.2 Collection和Iterator接口 292
8.2.1 使用Lambda表達式遍歷集合 294
8.2.2 使用Java 8增強的Iterator遍歷集合元素 295
8.2.3 使用Lambda表達式遍歷Iterator 296
8.2.4 使用foreach循環遍歷集合元素 297
8.2.5 使用Java 8新增的Predicate操作集合 297
8.2.6 使用Java 8新增的Stream操作集合 298
8.3 Set集合 300
8.3.1 HashSet類 301
學生提問:hashCode()方法對于HashSet是不是十分重要? 302
8.3.2 LinkedHashSet類 304
8.3.3 TreeSet類 305
8.3.4 EnumSet類 311
8.3.5 各Set實現類的性能分析 312
8.4 List集合 313
8.4.1 Java 8改進的List接口和ListIterator接口 313
8.4.2 ArrayList和Vector實現類 316
8.4.3 固定長度的List 317
8.5 Queue集合 317
8.5.1 PriorityQueue實現類 318
8.5.2 Deque接口與ArrayDeque實現類 318
8.5.3 LinkedList實現類 320
8.5.4 各種線性表的性能分析 321
8.6 Java 8增強的Map集合 322
8.6.1 Java 8為Map新增的方法 324
8.6.2 Java 8改進的HashMap和Hashtable實現類 325
8.6.3 LinkedHashMap實現類 328
8.6.4 使用Properties讀寫屬性文件 328
8.6.5 SortedMap接口和TreeMap實現類 329
8.6.6 WeakHashMap實現類 332
8.6.7 IdentityHashMap實現類 333
8.6.8 EnumMap實現類 333
8.6.9 各Map實現類的性能分析 334
8.7 HashSet和HashMap的性能選項 334
8.8 操作集合的工具類:Collections 335
8.8.1 排序操作 335
8.8.2 查找、替換操作 338
8.8.3 同步控制 339
8.8.4 設置不可變集合 339
8.8.5 Java 9新增的不可變集合 340
8.9 煩瑣的接口:Enumeration 341
8.10 本章小結 342
本章練習 342

第9章 泛型 343
9.1 泛型入門 344
9.1.1 編譯時不檢查類型的異常 344
9.1.2 使用泛型 344
9.1.3 Java 9增強的“菱形”語法 345
9.2 深入泛型 347
9.2.1 定義泛型接口、類 347
9.2.2 從泛型類派生子類 348
9.2.3 并不存在泛型類 349
9.3 類型通配符 350
9.3.1 使用類型通配符 352
9.3.2 設定類型通配符的上限 352
9.3.3 設定類型通配符的下限 354
9.3.4 設定泛型形參的上限 356
9.4 泛型方法 356
9.4.1 定義泛型方法 356
9.4.2 泛型方法和類型通配符的區別 359
9.4.3 Java 7的“菱形”語法與泛型構造器 360
9.4.4 泛型方法與方法重載 361
9.4.5 Java 8改進的類型推斷 362
9.5 擦除和轉換 362
9.6 泛型與數組 364
9.7 本章小結 365

第10章 異常處理 366
10.1 異常概述 367
10.2 異常處理機制 368
10.2.1 使用try...catch捕獲異常 368
10.2.2 異常類的繼承體系 370
10.2.3 Java 7新增的多異常捕獲 373
10.2.4 訪問異常信息 373
10.2.5 使用finally回收資源 374
10.2.6 異常處理的嵌套 376
10.2.7 Java 9增強的自動關閉資源的try語句 377
10.3 Checked異常和Runtime異常體系 378
10.3.1 使用throws聲明拋出異常 379
10.3.2 方法重寫時聲明拋出異常的限制 380
10.4 使用throw拋出異常 380
10.4.1 拋出異常 380
10.4.2 自定義異常類 382
10.4.3 catch和throw同時使用 382
10.4.4 Java 7增強的throw語句 384
10.4.5 異常鏈 385
10.5 Java的異常跟蹤棧 386
10.6 異常處理規則 388
10.6.1 不要過度使用異常 388
10.6.2 不要使用過于龐大的try塊 389
10.6.3 避免使用Catch All語句 390
10.6.4 不要忽略捕獲到的異常 390
10.7 本章小結 390
本章練習 390

第11章 AWT編程 391
11.1 Java 9改進的GUI(圖形用戶界面)和AWT 392
11.2 AWT容器 393
11.3 布局管理器 396
11.3.1 FlowLayout布局管理器 396
11.3.2 BorderLayout布局管理器 397
學生提問:BorderLayout*多只能放置5個組件嗎?那它也太不實用了吧? 398
11.3.3 GridLayout布局管理器 399
11.3.4 GridBagLayout布局管理器 400
11.3.5 CardLayout布局管理器 402
11.3.6 絕對定位 404
11.3.7 BoxLayout布局管理器 405
學生提問:圖11.15和圖11.16顯示的所有按鈕都緊挨在一起,如果希望像FlowLayout、GridLayout等布局管理器那樣指定組件的間距應該怎么辦? 406
11.4 AWT常用組件 407
11.4.1 基本組件 407
11.4.2 對話框(Dialog) 409
11.5 事件處理 411
11.5.1 Java事件模型的流程 411
11.5.2 事件和事件監聽器 413
11.5.3 事件適配器 417
11.5.4 使用內部類實現監聽器 418
11.5.5 使用外部類實現監聽器 418
11.5.6 類本身作為事件監聽器類 419
11.5.7 匿名內部類實現監聽器 420
11.6 AWT菜單 421
11.6.1 菜單條、菜單和菜單項 421
11.6.2 右鍵菜單 423
學生提問:為什么即使我沒有給多行文本域編寫右鍵菜單,但當我在多行文本域上單擊右鍵時也一樣會彈出右鍵菜單? 424
11.7 在AWT中繪圖 425
11.7.1 畫圖的實現原理 425
11.7.2 使用Graphics類 425
11.8 處理位圖 430
11.8.1 Image抽象類和BufferedImage實現類 430
11.8.2 Java 9增強的ImageIO 432
11.9 剪貼板 436
11.9.1 數據傳遞的類和接口 436
11.9.2 傳遞文本 437
11.9.3 使用系統剪貼板傳遞圖像 438
11.9.4 使用本地剪貼板傳遞對象引用 441
11.9.5 通過系統剪貼板傳遞Java對象 443
11.10 拖放功能 446
11.10.1 拖放目標 446
11.10.2 拖放源 449
11.11 本章小結 451
本章練習 451

第12章 Swing編程 452
12.1 Swing概述 453
12.2 Swing基本組件的用法 454
12.2.1 Java的Swing組件層次 454
12.2.2 AWT組件的Swing實現 455
學生提問:為什么單擊Swing多行文本域時不是彈出像AWT多行文本域中的右鍵菜單? 461
12.2.3 為組件設置邊框 461
12.2.4 Swing組件的雙緩沖和鍵盤驅動 463
12.2.5 使用JToolBar創建工具條 464
12.2.6 使用JFileChooser和Java 7增強的JColorChooser 466
12.2.7 使用JOptionPane 473
12.3 Swing中的特殊容器 478
12.3.1 使用JSplitPane 478
12.3.2 使用JTabbedPane 480
12.3.3 使用JLayeredPane、JDesktopPane和JInternalFrame 484
12.4 Swing簡化的拖放功能 491
12.5 Java 7新增的Swing功能 492
12.5.1 使用JLayer裝飾組件 492
12.5.2 創建透明、不規則形狀窗口 498
12.6 使用JProgressBar、ProgressMonitor和
BoundedRangeModel創建進度條 500
12.6.1 創建進度條 500
12.6.2 創建進度對話框 503
12.7 使用JSlider和BoundedRangeModel創建滑動條 505
12.8 使用JSpinner和SpinnerModel創建微調控制器 508
12.9 使用JList、JComboBox創建列表框 511
12.9.1 簡單列表框 511
12.9.2 不強制存儲列表項的ListModel和ComboBoxModel 514
12.9.3 強制存儲列表項的DefaultListModel和 DefaultComboBoxModel 517
學生提問:為什么JComboBox提供了添加、刪除列表項的方法?而JList沒有提供添加、刪除列表項的方法呢? 519
12.9.4 使用ListCellRenderer改變列表項外觀 519
12.10 使用JTree和TreeModel創建樹 521
12.10.1 創建樹 522
12.10.2 拖動、編輯樹節點 524
12.10.3 監聽節點事件 528
12.10.4 使用DefaultTreeCellRenderer改變節點外觀 530
12.10.5 擴展DefaultTreeCellRenderer改變節點外觀 531
12.10.6 實現TreeCellRenderer改變節點外觀 534
12.11 使用JTable和TableModel創建表格 535
12.11.1 創建表格 536
學生提問:我們指定的表格數據、表格列標題都是Object類型的數組,JTable如何顯示這些Object對象? 536
12.11.2 TableModel和監聽器 541
12.11.3 TableColumnModel和監聽器 545
12.11.4 實現排序 548
12.11.5 繪制單元格內容 551
12.11.6 編輯單元格內容 554
12.12 使用JFormattedTextField和JTextPane創建格式文本 557
12.12.1 監聽Document的變化 558
12.12.2 使用JPasswordField 560
12.12.3 使用JFormattedTextField 560
12.12.4 使用JEditorPane 568
12.12.5 使用JTextPane 568
12.13 本章小結 575
本章練習 575

第13章 MySQL數據庫與JDBC編程 576
13.1 JDBC基礎 577
13.1.1 JDBC簡介 577
13.1.2 JDBC驅動程序 578
13.2 SQL語法 579
13.2.1 安裝數據庫 579
13.2.2 關系數據庫基本概念和MySQL基本命令 581
13.2.3 SQL語句基礎 583
13.2.4 DDL語句 584
13.2.5 數據庫約束 588
13.2.6 索引 595
13.2.7 視圖 596
13.2.8 DML語句語法 597
13.2.9 單表查詢 599
13.2.10 數據庫函數 603
13.2.11 分組和組函數 605
13.2.12 多表連接查詢 607
13.2.13 子查詢 611
13.2.14 集合運算 612
13.3 JDBC的典型用法 613
13.3.1 JDBC 4.2常用接口和類簡介 613
13.3.2 JDBC編程步驟 615
學生提問:前面給出的僅僅是MySQL和Oracle兩種數據庫的驅動,我看不出驅動類字符串有什么規律啊。如果我希望使用其他數據庫,那怎么找到其他數據庫的驅動類呢? 616
13.4 執行SQL語句的方式 618
13.4.1 使用Java 8新增的executeLargeUpdate方法執行DDL和DML語句 618
13.4.2 使用execute方法執行SQL語句 620
13.4.3 使用PreparedStatement執行SQL語句 621
13.4.4 使用CallableStatement調用存儲過程 626
13.5 管理結果集 627
13.5.1 可滾動、可更新的結果集 627
13.5.2 處理Blob類型數據 629
13.5.3 使用ResultSetMetaData分析結果集 634
13.6 Javar的RowSet 636
13.6.1 Java 7新增的RowSetFactory與RowSet 637
13.6.2 離線RowSet 638
13.6.3 離線RowSet的查詢分頁 640
13.7 事務處理 641
13.7.1 事務的概念和MySQL事務支持 641
13.7.2 JDBC的事務支持 643
13.7.3 Java 8增強的批量更新 645
13.8 分析數據庫信息 646
13.8.1 使用DatabaseMetaData分析數據庫信息 646
13.8.2 使用系統表分析數據庫信息 648
13.8.3 選擇合適的分析方式 649
13.9 使用連接池管理連接 649
13.9.1 DBCP數據源 650
13.9.2 C3P0數據源 651
13.10 本章小結 651
本章練習 651

第14章 注解(Annotation) 652
14.1 基本注解 653
14.1.1 限定重寫父類方法:@Override 653
14.1.2 Java 9增強的@Deprecated 654
14.1.3 抑制編譯器警告:@SuppressWarnings 655
14.1.4 “堆污染”警告與Java 9增強的@SafeVarargs 655
14.1.5 Java 8的函數式接口與@FunctionalInterface 656
14.2 JDK的元注解 657
14.2.1 使用@Retention 657
14.2.2 使用@Target 658
14.2.3 使用@Documented 658
14.2.4 使用@Inherited 659
14.3 自定義注解 660
14.3.1 定義注解 660
14.3.2 提取注解信息 661
14.3.3 使用注解的示例 663
14.3.4 Java 8新增的重復注解 667
14.3.5 Java 8新增的類型注解 669
14.4 編譯時處理注解 670
14.5 本章小結 674

第15章 輸入/輸出 675
15.1 File類 676
15.1.1 訪問文件和目錄 676
15.1.2 文件過濾器 678
15.2 理解Java的IO流 679
15.2.1 流的分類 679
15.2.2 流的概念模型 680
15.3 字節流和字符流 681
15.3.1 InputStream和Reader 681
15.3.2 OutputStream和Writer 683
15.4 輸入/輸出流體系 685
15.4.1 處理流的用法 685
15.4.2 輸入/輸出流體系 686
15.4.3 轉換流 688
學生提問:怎么沒有把字符流轉換成字節流的轉換流呢? 688
15.4.4 推回輸入流 689
15.5 重定向標準輸入/輸出 690
15.6 Java虛擬機讀寫其他進程的數據 691
15.7 RandomAccessFile 694
15.8 Java 9改進的對象序列化 697
15.8.1 序列化的含義和意義 697
15.8.2 使用對象流實現序列化 697
15.8.3 對象引用的序列化 699
15.8.4 Java 9增加的過濾功能 703
15.8.5 自定義序列化 704
15.8.6 另一種自定義序列化機制 709
15.8.7 版本 710
15.9 NIO 711
15.9.1 Java新IO概述 711
15.9.2 使用Buffer 712
15.9.3 使用Channel 715
15.9.4 字符集和Charset 717
學生提問:二進制序列與字符之間如何對應呢? 718
15.9.5 文件鎖 720
15.10 Java 7的NIO.2 721
15.10.1 Path、Paths和Files核心API 721
15.10.2 使用FileVisitor遍歷文件和目錄 723
15.10.3 使用WatchService監控文件變化 724
15.10.4 訪問文件屬性 725
15.11 本章小結 726
本章練習 727

第16章 多線程 728
16.1 線程概述 729
16.1.1 線程和進程 729
16.1.2 多線程的優勢 730
16.2 線程的創建和啟動 731
16.2.1 繼承Thread類創建線程類 731
16.2.2 實現Runnable接口創建線程類 732
16.2.3 使用Callable和Future創建線程 733
16.2.4 創建線程的三種方式對比 735
16.3 線程的生命周期 735
16.3.1 新建和就緒狀態 735
16.3.2 運行和阻塞狀態 737
16.3.3 線程死亡 738
16.4 控制線程 739
16.4.1 join線程 739
16.4.2 后臺線程 740
16.4.3 線程睡眠:sleep 741
16.4.4 改變線程優先級 742
16.5 線程同步 743
16.5.1 線程安全問題 743
16.5.2 同步代碼塊 745
16.5.3 同步方法 747
16.5.4 釋放同步監視器的鎖定 749
16.5.5 同步鎖(Lock) 749
16.5.6 死鎖 751
16.6 線程通信 753
16.6.1 傳統的線程通信 753
16.6.2 使用Condition控制線程通信 756
16.6.3 使用阻塞隊列(BlockingQueue)控制線程通信 758
16.7 線程組和未處理的異常 761
16.8 線程池 764
16.8.1 Java 8改進的線程池 764
16.8.2 Java 8增強的ForkJoinPool 766
16.9 線程相關類 769
16.9.1 ThreadLocal類 769
16.9.2 包裝線程不安全的集合 771
16.9.3 線程安全的集合類 771
16.9.4 Java 9新增的發布-訂閱框架 772
16.10 本章小結 774
本章練習 775

第17章 網絡編程 776
17.1 網絡編程的基礎知識 777
17.1.1 網絡基礎知識 777
17.1.2 IP地址和端口號 778
17.2 Java的基本網絡支持 779
17.2.1 使用InetAddress 779
17.2.2 使用URLDecoder和URLEncoder 780
17.2.3 URL、URLConnection和URLPermission 781
17.3 基于TCP協議的網絡編程 787
17.3.1 TCP協議基礎 787
17.3.2 使用ServerSocket創建TCP服務器端 788
17.3.3 使用Socket進行通信 788
17.3.4 加入多線程 791
17.3.5 記錄用戶信息 793
17.3.6 半關閉的Socket 801
17.3.7 使用NIO實現非阻塞Socket通信 802
17.3.8 使用Java 7的AIO實現非阻塞通信 807
17.4 基于UDP協議的網絡編程 814
17.4.1 UDP協議基礎 814
17.4.2 使用DatagramSocket發送、接收數據 814
17.4.3 使用MulticastSocket實現多點廣播 818
17.5 使用代理服務器 828
17.5.1 直接使用Proxy創建連接 829
17.5.2 使用ProxySelector自動選擇代理服務器 830
17.6 本章小結 832
本章練習 832

第18章 類加載機制與反射 833
18.1 類的加載、連接和初始化 834
18.1.1 JVM和類 834
18.1.2 類的加載 835
18.1.3 類的連接 836
18.1.4 類的初始化 836
18.1.5 類初始化的時機 837
18.2 類加載器 838
18.2.1 類加載機制 838
18.2.2 創建并使用自定義的類加載器 840
18.2.3 URLClassLoader類 843
18.3 通過反射查看類信息 844
18.3.1 獲得Class對象 845
18.3.2 從Class中獲取信息 845
18.3.3 Java 8新增的方法參數反射 849
18.4 使用反射生成并操作對象 850
18.4.1 創建對象 850
18.4.2 調用方法 852
18.4.3 訪問成員變量值 854
18.4.4 操作數組 855
18.5 使用反射生成JDK動態代理 857
18.5.1 使用Proxy和InvocationHandler創建動態代理 857
18.5.2 動態代理和AOP 859
18.6 反射和泛型 862
18.6.1 泛型和Class類 862
18.6.2 使用反射來獲取泛型信息 864
18.7 本章小結 865
本章練習 866

附錄A Java 9的模塊化系統 867
展開全部

瘋狂Java講義 作者簡介

李剛,十余年軟件開發從業經驗,瘋狂軟件教育中心教學總監。瘋狂Java實訓營創始人,瘋狂Java體系原創圖書作者。廣東技術師范學院計算機科學系兼職副教授,CSDN特邀講師。培訓的學生已在騰訊、阿里、華為、IBM、網易、唯品會、電信盈科等名企就職。國內知名高端IT技術圖書作家,已出版《瘋狂Java講義》《瘋狂Android講義》《輕量級Java EE企業應用實戰》《瘋狂前端開發講義》《瘋狂HTML5/CSS3/JavaScript講義》《瘋狂iOS講義(基礎篇)(提高篇)》《瘋狂XML講義》《經典JavaEE企業應用實戰》《Struts 2.x權威指南》等著作。其中瘋狂Java體系圖書均已沉淀多年,贏得極高的市場認同,多次重印,多部著作印刷數量超過10萬冊,并被多所“985”“211”院校選作教材,部分圖書已被翻譯成繁體中文版,授權到中國臺灣地區。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 超细粉碎机|超微气流磨|气流分级机|粉体改性设备|超微粉碎设备-山东埃尔派粉碎机厂家 | OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | 锡膏喷印机-全自动涂覆机厂家-全自动点胶机-视觉点胶机-深圳市博明智控科技有限公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 泥沙分离_泥沙分离设备_泥砂分离机_洛阳隆中重工机械有限公司 | 打造全球沸石生态圈 - 国投盛世| 芝麻黑-芝麻黑石材厂家-永峰石业 | 冷却塔减速机器_冷却塔皮带箱维修厂家_凉水塔风机电机更换-广东康明冷却塔厂家 | 环氧树脂地坪_防静电地坪漆_环氧地坪漆涂料厂家-地壹涂料地坪漆 环球电气之家-中国专业电气电子产品行业服务网站! | 法兰连接型电磁流量计-蒸汽孔板节流装置流量计-北京凯安达仪器仪表有限公司 | 工业制氮机_psa制氮机厂家-宏骁智能装备科技江苏有限公司 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 粘弹体防腐胶带,聚丙烯防腐胶带-全民塑胶 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 蔬菜配送公司|蔬菜配送中心|食材配送|饭堂配送|食堂配送-首宏公司 | 青岛成人高考_山东成考报名网 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 有福网(yofus.com)洗照片冲印,毕业聚会纪念册相册制作个性DIY平台 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 膜结构_ETFE膜结构_膜结构厂家_膜结构设计-深圳市烨兴智能空间技术有限公司 | 天津热油泵_管道泵_天津高温热油泵-天津市金丰泰机械泵业有限公司【官方网站】 | 北京环球北美考试院【官方网站】|北京托福培训班|北京托福培训 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 蓄电池回收,ups电池后备电源回收,铅酸蓄电池回收,机房电源回收-广州益夫铅酸电池回收公司 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 金库门,金库房,金库门厂家,金库门价格-河北特旺柜业有限公司 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 | 家庭教育吧-在线家庭教育平台,专注青少年家庭教育 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 金属检测机_金属分离器_检针验针机_食品药品金属检探测仪器-广东善安科技 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 空气能暖气片,暖气片厂家,山东暖气片,临沂暖气片-临沂永超暖通设备有限公司 |