|
-- 會員 / 註冊 --
|
|
|
|
Java開發從入門到精通 ( 簡體 字) |
作者:扶松柏 陳小玉 | 類別:1. -> 程式設計 -> JAVA -> Java |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 45182 詢問書籍請說出此書號!【缺書】 NT售價: 295 元 |
出版日:9/1/2016 |
頁數:548 |
光碟數:1 (含視頻教學) |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115420275 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介: 本書由淺入深地詳細講解了Java的開發技術,并通過具體實例的實現過程演練了各個知識點的具體使用流程。本書共20章,第1∼2章講解了Java技術的基礎知識,包括Java印象和首段Java程序;第3∼9章分別講解了Java語法、條件語句、循環語句、數組、面向對象等知識,這些內容都是Java開發技術的核心知識;第10∼14章分別講解了集合、類庫、泛型、異常處理、I/O和文件處理的基本知識,這些內容是Java開發技術的重點和難點;第15∼19章是典型應用內容,分別講解了數據庫編程、網絡與通信編程、多線程等內容;第20章通過一個綜合實例的實現過程,介紹了Java技術在綜合項目中的使用流程。本書內容循序漸進,以“技術解惑”和“范例演練”貫穿全書,引領讀者全面掌握Java語言。 本書不但適用于Java的初學者,也適用于有一定Java基礎的讀者,還可以作為大專院校相關專業的師生學習用書和培訓學校的教材。
|
目錄:第1章 Java之印象 1 (視頻總計19分鐘,技術解惑3個) 1.1 初步認識Java 2 1.1.1 都在談論Java 2 1.1.2 Java的特點 2 1.1.3 Java中的一些名詞解釋 3 1.2 面向對象 4 1.2.1 什么是面向對象 4 1.2.2 Java的面向對象編程 4 1.2.3 UML統一建模語言 5 1.2.4 對象建模技術 7 1.2.5 面向對象分析 8 1.2.6 面向對象設計 10 1.2.7 Java的面向對象特性 12 1.3 技術解惑 13 1.3.1 卓越者的總結 13 1.3.2 對初學者的3條建議 14 1.3.3 理解Java的垃圾回收 機制 14 第2章 第一段Java程序 15 (視頻總計20分鐘,技術解惑8個) 2.1 搭建Java開發平臺 16 2.1.1 安裝JDK 16 2.1.2 配置開發環境 18 2.2 編寫第一段Java程序 18 2.2.1 編寫一段Java代碼 18 2.2.2 編譯Java程序 19 2.2.3 運行Java代碼 19 2.3 使用IDE工具 20 2.3.1 最受歡迎的工具— Eclipse 20 2.3.2 官方推出的工具— Netbeans 23 2.3.3 商業工具——JBuilder 29 2.4 Java的運行機制 29 2.4.1 編譯型/解釋型運行機制 29 2.4.2 程序運行機制 29 2.5 技術解惑 30 2.5.1 遵循源文件命名規則 30 2.5.2 忽視系統文件的擴展名 30 2.5.3 環境變量的問題 31 2.5.4 大小寫的問題 31 2.5.5 main()方法的問題 31 2.5.6 注意空格問題 32 2.5.7 到底用不用IDE工具 32 2.5.8 區分JRE和JDK 32 第3章 Java語法 33 (視頻總計72分鐘,實例21個,拓展實例42個,技術解惑4個) 3.1 量 34 3.1.1 常量 34 3.1.2 變量 35 3.2 數據類型 37 3.2.1 簡單數據類型值的范圍 37 3.2.2 字符型 38 3.2.3 整型 39 3.2.4 浮點型 39 3.2.5 布爾型 40 3.3 運算符 41 3.3.1 算術運算符 41 3.3.2 關系運算符和邏輯運算符 44 3.3.3 位運算符 45 3.3.4 條件運算符 46 3.3.5 賦值運算符 47 3.3.6 運算符的優先級 48 3.4 標識符和關鍵字 49 3.4.1 標識符 49 3.4.2 關鍵字 50 3.5 字符串 50 3.5.1 字符串的初始化 50 3.5.2 String類 51 3.5.3 StringBuffer類 53 3.6 類型轉換 54 3.6.1 自動類型轉換 54 3.6.2 強制轉換 55 3.7 技術解惑 55 3.7.1 定義常量時的注意事項 55 3.7.2 char類型中單引號的意義 56 3.7.3 正無窮和負無窮的問題 56 3.7.4 移位運算符的限制 56 第4章 條件語句 58 (視頻總計28分鐘,實例6個,拓展實例12個,技術解惑4個) 4.1 if語句詳解 59 4.1.1 if語句 59 4.1.2 if語句的延伸 60 4.1.3 多個條件判斷的if語句 61 4.2 switch語句詳解 62 4.2.1 switch語句的形式 62 4.2.2 無break的情況 63 4.2.3 case沒有執行語句 64 4.2.4 default可以不在末尾 64 4.3 條件語句演練 65 4.3.1 正確使用switch語句 65 4.3.2 正確使用if語句 66 4.3.3 switch語句的執行順序 67 4.4 技術解惑 68 4.4.1 if-else語句的意義 68 4.4.2 使用switch語句時的幾個 注意事項 68 4.4.3 何時用switch語句比較好 69 4.4.4 switch語句和if…else if 語句的選擇 69 第5章 循環語句 70 (視頻總計24分鐘,實例8個,拓展實例16個,技術解惑2個) 5.1 Java循環語句 71 5.1.1 for循環 71 5.1.2 while循環語句 73 5.1.3 do-while循環語句 75 5.2 跳轉語句 76 5.2.1 break語句的應用 76 5.2.2 return語句的應用 78 5.2.3 continue跳轉語句 79 5.3 技術解惑 79 5.3.1 使用for循環的技巧 79 5.3.2 跳轉語句的選擇技巧 80 第6章 特殊數據—數組 82 (視頻總計33分鐘,實例8個,拓展實例16個,技術解惑4個) 6.1 簡單的一維數組 83 6.1.1 聲明一維數組 83 6.1.2 創建一維數組 83 6.1.3 初始化一維數組 84 6.2 二維數組 85 6.2.1 聲明二維數組 85 6.2.2 創建二維數組 85 6.2.3 初始化二維數組 86 6.3 三維數組 88 6.3.1 聲明三維數組 88 6.3.2 創建三維數組的方法 88 6.3.3 初始化三維數組 88 6.4 操作數組 89 6.4.1 復制數組 89 6.4.2 比較數組 90 6.4.3 搜索數組中的元素 90 6.4.4 排序數組 91 6.4.5 填充數組 91 6.5 深入理解數組 93 6.5.1 動態數組 93 6.5.2 foreach循環 94 6.5.3 數組的內理 94 6.6 技術解惑 96 6.6.1 數組內是同一類型的數據 96 6.6.2 動態初始化數組的規則 96 6.6.3 引用類型 96 6.6.4 數組必須初始化 97 第7章 Java的面向對象(上) 98 (視頻總計35分鐘,實例7個,拓展實例14個,技術解惑5個) 7.1 類 99 7.1.1 定義類 99 7.1.2 定義屬性 99 7.1.3 定義方法 100 7.1.4 定義構造器 100 7.2 修飾符 101 7.2.1 public修飾符 101 7.2.2 private私有修飾符 101 7.2.3 protected保護修飾符 102 7.2.4 其他修飾符 103 7.3 方法詳解 103 7.3.1 方法的所屬性 104 7.3.2 傳遞方法參數 104 7.3.3 長度可變的方法 105 7.3.4 構造方法 106 7.3.5 遞歸方法 106 7.4 使用this 107 7.5 使用類和對象 108 7.5.1 創建和使用對象 108 7.5.2 使用靜態變量和靜態 方法 109 7.6 抽象類和抽象方法 109 7.6.1 抽象類和抽象方法基礎 110 7.6.2 抽象類必須有一個抽象 方法 111 7.6.3 抽象類的作用 112 7.7 軟件包 113 7.7.1 定義軟件包 113 7.7.2 在Eclipse定義軟件包 113 7.7.3 在程序里插入軟件包 114 7.8 技術解惑 115 7.8.1 Java傳遞引用類型的 實質 115 7.8.2 掌握this的好處 116 7.8.3 推出抽象方法的原因 117 7.8.4 什么時候用抽象類 117 7.8.5 static修飾的作用 118 第8章 Java的面向對象(中) 119 (視頻總計31分鐘,實例7個,拓展實例14個,技術解惑6個) 8.1 類的繼承 120 8.1.1 父類和子類 120 8.1.2 調用父類的構造方法 121 8.1.3 訪問父類的屬性和方法 121 8.1.4 多重次繼承 122 8.1.5 重寫父類的方法 124 8.2 重寫和重載 125 8.2.1 重寫 125 8.2.2 重載 127 8.2.3 聯合使用重寫與重載 128 8.3 隱藏和封裝 128 8.3.1 Java中的封裝 128 8.3.2 使用訪問控制符 129 8.3.3 Java中的包 130 8.3.4 import 132 8.4 接口 132 8.4.1 定義接口 133 8.4.2 接口里的量和方法 133 8.4.3 實現接口 134 8.4.4 引用接口 135 8.4.5 接口的繼承 136 8.4.6 接口和抽象類 137 8.5 技術解惑 138 8.5.1 重寫方法的兩點注意事項 138 8.5.2 重寫和重載的區別 138 8.5.3 舉例理解類的意義 138 8.5.4 Java包的一些規則 138 8.5.5 探討Package和import的 機制 139 8.5.6 Java接口編程的機理 140 第9章 Java的面向對象(下) 141 (視頻總計39分鐘,實例6個,拓展實例12個,技術解惑10個) 9.1 構造器詳解 142 9.1.1 初始化構造器 142 9.1.2 構造器重載 143 9.1.3 調用父類構造器 143 9.2 多態 144 9.2.1 何謂多態 144 9.2.2 演示Java中的多態 146 9.3 引用類型 147 9.3.1 4種引用類型 147 9.3.2 instanceof運算符 150 9.3.3 引用變量的強制類型 轉換 151 9.4 組合 152 9.5 初始化塊 154 9.5.1 何謂初始化塊 154 9.5.2 靜態初始化塊 155 9.6 包裝類 156 9.7 深入詳解final修飾符 157 9.7.1 用final修飾變量 158 9.7.2 final方法 159 9.8 內部類 160 9.8.1 何謂內部類 160 9.8.2 非靜態內部類 160 9.8.3 成員內部類 162 9.8.4 局部內部類 162 9.8.5 靜態內部類 163 9.8.6 匿名內部類 164 9.8.7 匿名類和內部類中的 this 166 9.8.8 總結Java內部類 167 9.9 枚舉類 170 9.9.1 枚舉類的方法 170 9.9.2 手動實現枚舉類 170 9.9.3 枚舉類型 172 9.10 技術解惑 174 9.10.1 構造器和方法的區別 174 9.10.2 this在構造器中的妙用 175 9.10.3 分析子類構造器調用父類 構造器的幾種情況 175 9.10.4 要避免編譯錯誤 175 9.10.5 強制類型轉換不是 萬能的 176 9.10.6 繼承和組合的選擇 176 9.10.7 分析發生異常的原因 176 9.10.8 用final修飾基本類型和 引用類型變量之間的 區別 176 9.10.9 類的4種權限 177 9.10.10 手工實現枚舉類的缺點 177 第10章 集合 178 (視頻總計51分鐘,實例8個,拓展實例16個,技術解惑8個) 10.1 Java集合概述 179 10.2 Collection接口和Iterator接口 180 10.2.1 基礎知識介紹 180 10.2.2 Collection接口和Iterator 接口 181 10.3 Set接口 182 10.3.1 基礎知識介紹 182 10.3.2 使用HashSet 185 10.3.3 使用TreeSet類 186 10.3.4 使用EnumSet類 188 10.4 List接口 190 10.4.1 基本知識介紹 190 10.4.2 使用List接口和ListIterator 接口 192 10.4.3 使用ArrayList和 Vector類 193 10.5 Map接口 194 10.5.1 基本知識介紹 194 10.5.2 使用HashMap和Hashtable 實現類 198 10.5.3 使用SortedMap接口和 TreeMap實現類 199 10.5.4 使用WeakHashMap類 201 10.5.5 使用IdentityHashMap類 202 10.5.6 使用EnumMap類 202 10.6 Queue接口 203 10.6.1 LinkedList類 203 10.6.2 PriorityQueue類 205 10.7 集合工具類Collections 205 10.7.1 排序操作 205 10.7.2 查找和替換操作 206 10.8 其他集合類 207 10.8.1 Stack類 207 10.8.2 屬性類Properties 208 10.9 技術解惑 211 10.9.1 Collection集合元素的改變 問題 211 10.9.2 深入理解HashSet 211 10.9.3 使用類EnumSet時的注意 事項 211 10.9.4 ArrayList和Vector的 區別 212 10.9.5 TreeMap判斷兩個元素 相等的標準 212 10.9.6 分析幾種Map類的 性能 212 10.9.7 LinkedList、ArrayList、 Vector性能問題的研究 212 10.9.8 用swap()方法把集合中 兩個位置的內容進行 交換 212 第11章 常用的類庫 214 (視頻總計54分鐘,實例15個,拓展實例30個,技術解惑5個) 11.1 StringBuffer類 215 11.1.1 StringBuffer類基礎 215 11.1.2 使用StringBuffer類 215 11.2 Runtime類 217 11.2.1 Runtime類 217 11.2.2 使用Runtime類 218 11.3 程序國際化 219 11.3.1 國際化基礎 219 11.3.2 Locale類 219 11.3.3 ResourceBundle類 220 11.3.4 處理動態文本 221 11.3.5 使用類代替資源文件 222 11.4 System類 222 11.4.1 System類基礎 223 11.4.2 垃圾對象的回收 223 11.5 Date類 224 11.5.1 使用Date類 224 11.5.2 使用Calendar類 225 11.5.3 使用DateFormat類 225 11.5.4 使用SimpleDate Format類 226 11.6 Math類 227 11.7 Random類 228 11.8 NumberFormat類 229 11.9 BigInteger類 230 11.10 BigDecimal類 231 11.11 克隆對象 233 11.12 Arrays類 233 11.13 接口Comparable 234 11.13.1 Comparable接口基礎 234 11.13.2 使用Comparable接口 235 11.13.3 使用Comparator接口 236 11.14 Observable類和Observer 接口 237 11.15 正則表達式 239 11.15.1 正則表達式基礎 239 11.15.2 使用Pattern類和 Matcher類 240 11.15.3 String類和正則表達式 240 11.16 Timer類和TimerTask類 241 11.16.1 Timer類 241 11.16.2 TimerTask類 242 11.17 技術解惑 243 11.17.1 StringBuffer和String 選擇的異同 243 11.17.2 通過System類獲取本機 的全部環境屬性 243 11.17.3 分析對象的生命周期 244 11.17.4 如果沒有實現Comparable 接口會出現異常 244 11.17.5 體驗正則表達式的 好處 245 第12章 泛型 246 (視頻總計28分鐘,實例6個,拓展實例12個,技術解惑5個) 12.1 泛型基礎 247 12.1.1 泛型的好處 247 12.1.2 類型檢查 247 12.1.3 使用泛型 249 12.2 泛型詳解 249 12.2.1 定義泛型接口和類 250 12.2.2 派生子類 250 12.2.3 并不存在泛型類 251 12.3 類型通配符 252 12.3.1 設置類型通配符的上限 252 12.3.2 設置類型形參的上限 254 12.4 泛型方法 254 12.4.1 定義泛型方法 254 12.4.2 設置通配符下限 257 12.5 泛型接口 258 12.6 泛型繼承 259 12.6.1 以泛型類為父類 259 12.6.2 以非泛型類為父類 260 12.7 運行時類型識別 260 12.8 強制類型轉換 261 12.9 擦除 262 12.9.1 擦除基礎 262 12.9.2 擦除帶來的錯誤 264 12.10 技術解惑 265 12.10.1 徹底分析Java語言中 泛型的本質 265 12.10.2 泛型方法和類型通配符的 區別 265 12.10.3 泛型類的繼承規則 266 12.10.4 類型擦除和泛型特性的 聯系 266 12.10.5 使用泛型應該遵循的原則 和注意事項 267 第13章 異常處理 268 (視頻總計24分鐘,實例8個,拓展實例16個,技術解惑4個) 13.1 什么是異常 269 13.1.1 認識異常 269 13.1.2 Java的異常處理機制 269 13.1.3 Java提供的異常處理類 271 13.2 異常處理方式 272 13.2.1 使用try…catch處理 異常 272 13.2.2 處理多個異常 273 13.2.3 將finally關鍵字使用在 異常中 273 13.2.4 訪問異常信息 275 13.3 拋出異常 276 13.3.1 使用throws拋出異常 276 13.3.2 使用throw拋出異常 277 13.4 自定義異常 278 13.4.1 Throwable類介紹 278 13.4.2 使用Throwable類自定義 異常 280 13.5 分析Checked異常和Runtime 異常的區別 281 13.5.1 機制上 282 13.5.2 邏輯上 282 13.6 異常處理的陋習 283 13.6.1 丟棄異常 283 13.6.2 不指定具體的異常 284 13.6.3 占用資源不釋放 285 13.6.4 不說明異常的詳細信息 285 13.6.5 過于龐大的try塊 285 13.6.6 輸出數據不完整 285 13.7 異常處理語句的規則 286 13.8 技術解惑 288 13.8.1 用嵌套異常處理是更合理 的方法 288 13.8.2 區別throws關鍵字和throw 關鍵字 288 13.8.3 異常類的繼承關系 288 13.8.4 子類Error和Exception 288 第14章 I/O與文件處理 289 (視頻總計63分鐘,實例15個,拓展實例30個,技術解惑8個) 14.1 Java I/O簡介 290 14.2 File類 290 14.2.1 File類中的方法 290 14.2.2 使用File類操作文件 291 14.3 RandomAccessFile類 293 14.3.1 RandomAccessFile類的 常用方法 294 14.3.2 使用RandomAccess File類 294 14.4 字節流與字符流 295 14.4.1 節流類和字符流類 295 14.4.2 使用字節流 295 14.4.3 使用字符流 299 14.5 字節轉換流 301 14.6 內存操作流 302 14.7 管道流 303 14.8 打印流 304 14.8.1 基礎知識 304 14.8.2 使用打印流 305 14.9 System類 306 14.9.1 System.out 306 14.9.2 System.err 306 14.9.3 System.in 307 14.9.4 輸入/輸出重定向 308 14.10 BufferedReader類 309 14.10.1 BufferedReader類基礎 309 14.10.2 使用BufferedReader類 310 14.11 Scanner類 311 14.11.1 Scanner類基礎 311 14.11.2 使用Scanner類 312 14.12 數據操作流 314 14.12.1 DataOutputStream類 314 14.12.2 DataInputStream類 315 14.13 合并流 316 14.14 壓縮流 317 14.14.1 ZIP壓縮輸入/輸出流 簡介 317 14.14.2 ZipOutputStream類 317 14.14.3 ZipFile類 320 14.14.4 ZipInputStream類 321 14.15 回退流 321 14.16 字符編碼 322 14.16.1 得到本機的編碼顯示 323 14.16.2 產生亂碼 323 14.17 對象序列化 324 14.17.1 Serializable接口 324 14.17.2 對象輸出流 ObjectOutputStream 324 14.17.3 對象輸入流 ObjectInputStream 325 14.17.4 Externalizable接口 326 14.17.5 關鍵字transient 327 14.17.6 序列化一組對象 328 14.18 新增的I/O 329 14.18.1 新I/O概述 329 14.18.2 使用Buffer 330 14.18.3 使用Channel 332 14.19 技術解惑 334 14.19.1 使用File.separator表示 分隔符 334 14.19.2 綜合演練創建和刪除文件 的操作 334 14.19.3 File類的復雜用法 335 14.19.4 字節流和字符流的區別 335 14.19.5 System.err和System.out 選擇 337 14.19.6 使用I/O實現一個簡單的 菜單效果 337 14.19.7 對象序列化和對象反序列 化操作時的版本兼容性 問題 339 14.19.8 不能讓所有的類都實現 Serializble接口 339 第15章 AWT的奇幻世界 340 (視頻總計49分鐘,實例10個,拓展實例20個,技術解惑6個) 15.1 GUI和AWT 341 15.2 容器 344 15.2.1 容器基礎 344 15.2.2 容器中的常用組件 345 15.3 布局管理器 347 15.3.1 布局利器FlowLayout 347 15.3.2 布局利器BorderLayout 348 15.3.3 布局利器GridLayout 350 15.3.4 GridBagLayout布局 管理器 351 15.3.5 布局利器CardLayout 356 15.3.6 BoxLayout布局管理器 358 15.3.7 布局利器Null 360 15.4 AWT的常用組件 361 15.4.1 AWT中的組件 361 15.4.2 AWT中的對話框 363 15.5 事件處理 365 15.5.1 Java的事件模型 365 15.5.2 事件和事件監聽器 366 15.5.3 事件適配器 371 15.6 AWT的菜單 372 15.6.1 菜單條、菜單和菜單項 372 15.6.2 右鍵菜單 374 15.7 繪圖 376 15.7.1 類Component中的繪圖 方法 376 15.7.2 Graphics類 376 15.8 位圖操作 378 15.8.1 Image類和 BufferedImage類 378 15.8.2 輸入/輸出位圖 380 15.9 技術解惑 382 15.9.1 使用絕對定位 382 15.9.2 對事件處理模型的簡化 理解 382 15.9.3 使用AWT開發動畫 383 15.9.4 圖片縮放在現實中的 意義 383 15.9.5 AWT和Swing是窗體編程 的兩個主角 383 15.9.6 AWT中的菜單組件不能 創建圖標菜單 383 第16章 Swing詳解 384 (視頻總計66分鐘,實例14個,拓展實例28個,技術解惑2個) 16.1 Swing基礎 385 16.2 Swing的組件 386 16.2.1 Swing組件的層次 結構 386 16.2.2 Swing實現AWT組件 387 16.2.3 Jframe、JscrollPane和 邊框 391 16.2.4 JToolBar 393 16.2.5 JColorChooser和 JFileChooser 395 16.2.6 JOptionPane 397 16.2.7 JSplitPane 402 16.2.8 JTabbedPane 405 16.3 拖放處理 407 16.3.1 拖放處理基礎 407 16.3.2 Swing中的拖放處理 407 16.4 實現進度條效果—— JProgressBar、ProgressMonitor 和BoundedRangeModel 409 16.4.1 創建一個進度條 409 16.4.2 使用ProgressMonitor創建 進度條對話框 411 16.5 JSlider和BoundedRangeModel 412 16.6 JList和JComboBox 415 16.6.1 使用JList和JComboBox 的構造器創建列表框 415 16.6.2 使用ListCellRenderer 418 16.7 JTree和TreeModel 419 16.7.1 創建樹 420 16.7.2 拖動、編輯節點 421 16.8 技術解惑 425 16.8.1 貫穿Java開發的MVC 模式 425 16.8.2 Swing勝過AWT的 優勢 425 第17章 數據庫編程 426 (視頻總計26分鐘,實例2個,拓展實例4個,技術解惑5個) 17.1 SQL基礎 427 17.1.1 數據定義 427 17.1.2 數據操縱 428 17.1.3 視圖 430 17.1.4 SQL高級操作 430 17.2 初識JDBC 431 17.2.1 JDBC API 432 17.2.2 JDBC驅動類型 432 17.2.3 JDBC的常用接口和類 433 17.2.4 JDBC編程步驟 434 17.3 常用的幾種數據庫 437 17.3.1 Access數據庫 437 17.3.2 SQL Server數據庫 437 17.3.3 MySQL數據庫 440 17.4 執行SQL語句的方式 443 17.4.1 使用executeUpdate 443 17.4.2 使用execute方法 444 17.5 事務處理 446 17.5.1 JDBC中的事務控制 446 17.5.2 JDBC事務控制的流程 447 17.6 存儲過程 450 17.6.1 存儲過程基礎 450 17.6.2 創建存儲過程 450 17.6.3 調用創建存儲過程 452 17.7 技術解惑 453 17.7.1 池子的功效 453 17.7.2 服務器自帶連接池的 問題 454 17.7.3 連接池模型 455 17.7.4 數據模型、概念模型和關系 數據模型 455 17.7.5 數據庫系統的結構 456 第18章 網絡與通信編程 457 (視頻總計45分鐘,實例8個,拓展實例16個,技術解惑6個) 18.1 Java中的網絡包 458 18.1.1 InetAddress類詳解 458 18.1.2 URLDecoder類和 URLEncoder類詳解 458 18.1.3 URL和URLConnection 459 18.1.4 實踐演練 460 18.2 TCP編程 463 18.2.1 使用ServletSocket 463 18.2.2 使用Socket 464 18.2.3 TCP中的多線程 465 18.2.4 實現非阻塞Socket通信 468 18.3 UDP編程 472 18.3.1 使用DatagramSocket 472 18.3.2 使用MulticastSocket 475 18.4 代理服務器 478 18.4.1 什么是代理服務器 478 18.4.2 使用Proxy創建連接 479 18.4.3 使用ProxySelector選擇 代理服務器 480 18.4.4 服務器代理實例 482 18.5 技術解惑 485 18.5.1 使用異常處理完善程序 485 18.5.2 使用ServerSocketChannel 的麻煩之處 485 18.5.3 體會煩瑣的 DatagramPacket 486 18.5.4 MulticastSocket類的重要 意義 486 18.5.5 繼承ProxySelector時需要 做的工作 486 18.5.6 代理服務無止境 486 第19章 多線程 487 (視頻總計33分鐘,實例3個,拓展實例6個,技術解惑10個) 19.1 線程基礎 488 19.1.1 線程概述 488 19.1.2 線程帶來的意義 488 19.1.3 Java的線程模型 489 19.2 創建線程 490 19.2.1 使用Thread類創建 線程 490 19.2.2 使用Runnable接口創建 線程 492 19.3 線程的生命周期 493 19.3.1 創建并運行線程 494 19.3.2 掛起和喚醒線程 494 19.3.3 終止線程的3種方法 495 19.3.4 線程阻塞 497 19.3.5 線程死亡 498 19.4 控制線程 499 19.4.1 使用join方法 499 19.4.2 慎重使用volatile 關鍵字 500 19.4.3 后臺、讓步和睡眠 501 19.5 線程傳遞數據 502 19.5.1 向線程傳遞數據的3種 方法 502 19.5.2 從線程返回數據的兩種 方法 504 19.6 數據同步 505 19.6.1 使用Synchronized關鍵字 同步類方法 509 19.6.2 使用Synchronized塊同步 變量 511 19.6.3 同步鎖 512 19.7 總結多線程編程的常見缺陷及其 產生的原因 514 19.7.1 死鎖問題 515 19.7.2 多線程編程的常見陷阱 517 19.8 技術解惑 521 19.8.1 線程和函數的關系 521 19.8.2 在run方法中使用線程名 時帶來的問題 521 19.8.3 繼承Thread類或實現 Runnable接口方式的 比較 521 19.8.4 start和run的區別 521 19.8.5 使用sleep()方法的注意 事項 521 19.8.6 線程的優先級 522 19.8.7 如何確定發生死鎖 522 19.8.8 關鍵字synchronized和 volatile的區別 522 19.8.9 sleep()方法和yield()方法 的區別 523 19.8.10 分析Swing的多線程死鎖 問題 523 第20章 整合開發企業快信系統 524 (視頻總計41分鐘) 20.1 一個項目 525 20.1.1 背景分析 525 20.1.2 需求分析 525 20.1.3 核心技術分析 525 20.2 系統設計 525 20.2.1 系統目標 525 20.2.2 系統功能結構 525 20.3 搭建開發環境 526 20.3.1 建立短信貓開發環境 526 20.3.2 設計數據庫 527
20.3.3 設計表 528 20.4 規劃系統文件 530 20.5 具體編碼 531 20.5.1 編寫公用模塊代碼 531 20.5.2 設計主頁 534 20.5.3 名片夾管理模塊 535 20.5.4 收發短信模塊 540 20.5.5 郵件群發模塊 543 20.6 分析Java Mail組件 544 20.6.1 Java Mail簡介 544 20.6.2 郵件協議簡介 545 20.6.3 郵件發送 545 20.6.4 收取郵件 547 20.7 項目調試 547
|
序: |
|