Java核心技術-基礎知識-卷1-(原書第10版) 版權信息
- ISBN:9787111547426
- 條形碼:9787111547426 ; 978-7-111-54742-6
- 裝幀:暫無
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
Java核心技術-基礎知識-卷1-(原書第10版) 本書特色
java領域*有影響力和價值的著作之一,由擁有20多年教學與研究經驗的資深java技術專家撰寫(獲jolt大獎),與《java編程思想》齊
名,10余年全球暢銷不衰,廣受好評。第10版根據java se
8全面更新,同時修正了第9版中的不足,系統全面講解了java語言的核心概念、語法、重要特性和開發方法,包含大量案例,實踐性強。
本書共14章。第1章概述java語言與其他程序設計語言不同的性能;第2章講解如何下載和安裝jdk及本書的程序示例;第3章介紹變量、循
環和簡單的函數;第4章講解類和封裝;第5章介紹繼承;第6章解釋接口和內部類;第7章討論異常處理,并給出大量實用的調試技巧;第8章概要介紹泛型程序
設計;第9章討論java平臺的集合框架;第10章介紹gui程序設計,討論如何建立窗口、如何在窗口中繪圖、如何利用幾何圖形繪圖、如何采用多種字體格
式化文本,以及如何顯示圖像;第11章詳細討論抽象窗口工具包的事件模型;第12章詳細討論swing
gui工具包;第13章介紹如何將程序部署為應用或applet;第14章討論并發。本書*后還有一個附錄,其中列出了java語言的保留字。
Java核心技術-基礎知識-卷1-(原書第10版) 內容簡介
java領域*有影響力和價值的著作之一,與《java編程思想》齊名,10余年全球暢銷不衰,廣受好評
根據java se 8全面更新,系統全面講解java語言的核心概念、語法、重要特性和開發方法,包含大量案例,實踐性強 ??
一直以來,《java核心技術》都被認為是面向高級程序員的經典教程和參考書,它內容翔實、客觀準確,不拖泥帶水,是想為實際應用編寫健壯
java代碼的程序員的*選。如今,本版進行了全面更新, 以反映近年來人們翹首以待、變革*大的java版本(java se
8)的內容。這一版經過重寫,并重新組織,全面闡釋了新的java se
8特性、慣用法和*佳實踐,其中包含數百個示例程序,所有這些代碼都經過精心設計,不僅易于理解,也很容易實際應用。
本書為專業程序員解決實際問題而寫,可以幫助你深入了解java語言和庫。在卷i中,horstmann主要強調基本語言概念和現代用戶界面
編程基礎,深入介紹了從java面向對象編程到泛型、集合、lambda表達式、swing ui設計以及并發和函數式編程的*新方法等內容。
通過閱讀本書,你將:
充分利用你現有的編程知識快速掌握核心java語法
了解java中封裝、類和繼承如何工作
掌握利用接口、內部類和lambda表達式來實現函數式編程
利用異常處理和有效調試提高程序健壯性
利用泛型和強類型編寫更安全、更可讀的程序
使用預建集合收集多個對象以便以后獲取
從頭開始掌握并發編程技術
利用標準swing組件構建現代跨平臺gui
部署可配置應用和applet,并通過互聯網發布
利用新的函數式技術簡化并發性和提高性能
如果你是一個資深程序員,剛剛轉向java se 8,本書*是可靠、實用的“伙伴”,不僅現在能幫助你,在未來的很多年還會繼續陪伴你前行。
Java核心技術-基礎知識-卷1-(原書第10版) 目錄
譯者序 前言 致謝 第1章 java程序設計概述 1 1.1 java程序設計平臺 1 1.2 java“白皮書”的關鍵術語 2 1.2.1 簡單性 2 1.2.2 面向對象 2 1.2.3 分布式 3 1.2.4 健壯性 3 1.2.5 安全性 3 1.2.6 體系結構中立 4 1.2.7 可移植性 4 1.2.8 解釋型 5 1.2.9 高性能 5 1.2.10 多線程 5 1.2.11 動態性 5 1.3 java applet與internet 6 1.4 java發展簡史 7 1.5 關于java的常見誤解 9 第2章 java程序設計環境 12 2.1 安裝java開發工具包 12 2.1.1 下載jdk 12 2.1.2 設置jdk 13 2.1.3 安裝庫源文件和文檔 15 2.2 使用命令行工具 16 2.3 使用集成開發環境 18 2.4 運行圖形化應用程序 21 2.5 構建并運行applet 23 第3章 java的基本程序設計結構 28 3.1 一個簡單的java應用程序 28 3.2 注釋 31 3.3 數據類型 32 3.3.1 整型 32 3.3.2 浮點類型 33 3.3.3 char類型 34 3.3.4 unicode和char類型 35 3.3.5 boolean類型 35 3.4 變量 36 3.4.1 變量初始化 37 3.4.2 常量 37 3.5 運算符 38 3.5.1 數學函數與常量 39 3.5.2 數值類型之間的轉換 40 3.5.3 強制類型轉換 41 3.5.4 結合賦值和運算符 42 3.5.5 自增與自減運算符 42 3.5.6 關系和boolean運算符 42 3.5.7 位運算符 43 3.5.8 括號與運算符級別 44 3.5.9 枚舉類型 45 3.6 字符串 45 3.6.1 子串 45 3.6.2 拼接 46 3.6.3 不可變字符串 46 3.6.4 檢測字符串是否相等 47 3.6.5 空串與null串 48 3.6.6 碼點與代碼單元 49 3.6.7 string api 50 3.6.8 閱讀聯機api文檔 52 3.6.9 構建字符串 54 3.7 輸入輸出 55 3.7.1 讀取輸入 55 3.7.2 格式化輸出 58 3.7.3 文件輸入與輸出 61 3.8 控制流程 63 3.8.1 塊作用域 63 3.8.2 條件語句 63 3.8.3 循環 66 3.8.4 確定循環 69 3.8.5 多重選擇:switch語句 72 3.8.6 中斷控制流程語句 74 3.9 大數值 76 3.10 數組 78 3.10.1 for each循環 79 3.10.2 數組初始化以及匿名數組 80 3.10.3 數組拷貝 81 3.10.4 命令行參數 81 3.10.5 數組排序 82 3.10.6 多維數組 85 3.10.7 不規則數組 88 第4章 對象與類 91 4.1 面向對象程序設計概述 91 4.1.1 類 92 4.1.2 對象 93 4.1.3 識別類 93 4.1.4 類之間的關系 94 4.2 使用預定義類 95 4.2.1 對象與對象變量 95 4.2.2 java類庫中的localdate類 98 4.2.3 更改器方法與訪問器方法 100 4.3 用戶自定義類 103 4.3.1 employee類 103 4.3.2 多個源文件的使用 105 4.3.3 剖析employee類 106 4.3.4 從構造器開始 106 4.3.5 隱式參數與顯式參數 108 4.3.6 封裝的優點 109 4.3.7 基于類的訪問權限 111 4.3.8 私有方法 111 4.3.9 f?inal實例域 112 4.4 靜態域與靜態方法 112 4.4.1 靜態域 112 4.4.2 靜態常量 113 4.4.3 靜態方法 114 4.4.4 工廠方法 115 4.4.5 main方法 115 4.5 方法參數 118 4.6 對象構造 123 4.6.1 重載 123 4.6.2 默認域初始化 123 4.6.3 無參數的構造器 124 4.6.4 顯式域初始化 125 4.6.5 參數名 125 4.6.6 調用另一個構造器 126 4.6.7 初始化塊 127 4.6.8 對象析構與f?inalize方法 130 4.7 包 131 4.7.1 類的導入 131 4.7.2 靜態導入 133 4.7.3 將類放入包中 133 4.7.4 包作用域 136 4.8 類路徑 137 4.8.1 設置類路徑 139 4.9 文檔注釋 140 4.9.1 注釋的插入 140 4.9.2 類注釋 140 4.9.3 方法注釋 141 4.9.4 域注釋 142 4.9.5 通用注釋 142 4.9.6 包與概述注釋 143 4.9.7 注釋的抽取 143 4.10 類設計技巧 144 第5章 繼承 147 5.1 類、超類和子類 147 5.1.1 定義子類 147 5.1.2 覆蓋方法 149 5.1.3 子類構造器 150 5.1.4 繼承層次 153 5.1.5 多態 154 5.1.6 理解方法調用 155 5.1.7 阻止繼承:f?inal類和方法 157 5.1.8 強制類型轉換 158 5.1.9 抽象類 160 5.1.10 受保護訪問 165 5.2 object:所有類的超類 166 5.2.1 equals方法 166 5.2.2 相等測試與繼承 167 5.2.3 hashcode方法 170 5.2.4 tostring方法 172 5.3 泛型數組列表 178 5.3.1 訪問數組列表元素 180 5.3.2 類型化與原始數組列表的兼容性 183 5.4 對象包裝器與自動裝箱 184 5.5 參數數量可變的方法 187 5.6 枚舉類 188 5.7 反射 190 5.7.1 class類 190 5.7.2 捕獲異常 192 5.7.3 利用反射分析類的能力 194 5.7.4 在運行時使用反射分析對象 198 5.7.5 使用反射編寫泛型數組代碼 202 5.7.6 調用任意方法 205 5.8 繼承的設計技巧 208 第6章 接口、lambda表達式與內部類 211 6.1 接口 211 6.1.1 接口概念 211 6.1.2 接口的特性 217 6.1.3 接口與抽象類 218 6.1.4 靜態方法 218 6.1.5 默認方法 219 6.1.6 解決默認方法沖突 220 6.2 接口示例 222 6.2.1 接口與回調 222 6.2.2 comparator接口 224 6.2.3 對象克隆 225 6.3 lambda表達式 231 6.3.1 為什么引入lambda表達式 231 6.3.2 lambda表達式的語法 232 6.3.3 函數式接口 234 6.3.4 方法引用 235 6.3.5 構造器引用 237 6.3.6 變量作用域 237 6.3.7 處理lambda表達式 239 6.3.8 再談comparator 242 6.4 內部類 242 6.4.1 使用內部類訪問對象狀態 244 6.4.2 內部類的特殊語法規則 247 6.4.3 內部類是否有用、必要和安全 248 6.4.4 局部內部類 250 6.4.5 由外部方法訪問變量 250 6.4.6 匿名內部類 252 6.4.7 靜態內部類 255 6.5 代理 258 6.5.1 何時使用代理 259 6.5.2 創建代理對象 259 6.5.3 代理類的特性 262 第7章 異常、斷言和日志 264 7.1 處理錯誤 264 7.1.1 異常分類 265 7.1.2 聲明受查異常 267 7.1.3 如何拋出異常 269 7.1.4 創建異常類 270 7.2 捕獲異常 271 7.2.1 捕獲異常 271 7.2.2 捕獲多個異常 273 7.2.3 再次拋出異常與異常鏈 274 7.2.4 f?inally子句 275 7.2.5 帶資源的try語句 278 7.2.6 分析堆棧軌跡元素 280 7.3 使用異常機制的技巧 282 7.4 使用斷言 285 7.4.1 斷言的概念 285 7.4.2 啟用和禁用斷言 286 7.4.3 使用斷言完成參數檢查 287 7.4.4 為文檔假設使用斷言 288 7.5 記錄日志 289 7.5.1 基本日志 289 7.5.2 高級日志 289 7.5.3 修改日志管理器配置 291 7.5.4 本地化 292 7.5.5 處理器 293 7.5.6 過濾器 296 7.5.7 格式化器 296 7.5.8 日志記錄說明 296 7.6 調試技巧 304 第8章 泛型程序設計 309 8.1 為什么要使用泛型程序設計 309 8.1.1 類型參數的好處 309 8.1.2 誰想成為泛型程序員 310 8.2 定義簡單泛型類 311 8.3 泛型方法 313 8.4 類型變量的限定 314 8.5 泛型代碼和虛擬機 316 8.5.1 類型擦除 316 8.5.2 翻譯泛型表達式 317 8.5.3 翻譯泛型方法 318 8.5.4 調用遺留代碼 319 8.6 約束與局限性 320 8.6.1 不能用基本類型實例化類型參數 320 8.6.2 運行時類型查詢只適用于原始類型 321 8.6.3 不能創建參數化類型的數組 321 8.6.4 varargs警告 322 8.6.5 不能實例化類型變量 323 8.6.6 不能構造泛型數組 323 8.6.7 泛型類的靜態上下文中類型變量無效 325 8.6.8 不能拋出或捕獲泛型類的實例 325 8.6.9 可以消除對受查異常的檢查 326 8.6.10 注意擦除后的沖突 327 8.7 泛型類型的繼承規則 328 8.8 通配符類型 330 8.8.1 通配符概念 330 8.8.2 通配符的超類型限定 331 8.8.3 無限定通配符 334 8.8.4 通配符捕獲 334 8.9 反射和泛型 337 8.9.1 泛型class類 337 8.9.2 使用class參數進行類型匹配 338 8.9.3 虛擬機中的泛型類型信息 338 第9章 集合 344 9.1 java集合框架 344 9.1.1 將集合的接口與實現分離 344 9.1.2 collection接口 346 9.1.3 迭代器 347 9.1.4 泛型實用方法 349 9.1.5 集合框架中的接口 352 9.2 具體的集合 353 9.2.1 鏈表 355 9.2.2 數組列表 362 9.2.3 散列集 363 9.2.4 樹集 366 9.2.5 隊列與雙端隊列 369 9.2.6 優先級隊列 371 9.3 映射 372 9.3.1 基本映射操作 372 9.3.2 更新映射項 375 9.3.3 映射視圖 376 9.3.4 弱散列映射 377 9.3.5 鏈接散列集與映射 378 9.3.6 枚舉集與映射 379 9.3.7 標識散列映射 380 9.4 視圖與包裝器 381 9.4.1 輕量級集合包裝器 382 9.4.2 子范圍 382 9.4.3 不可修改的視圖 383 9.4.4 同步視圖 384 9.4.5 受查視圖 384 9.4.6 關于可選操作的說明 385 9.5 算法 388 9.5.1 排序與混排 389 9.5.2 二分查找 391 9.5.3 簡單算法 392 9.5.4 批操作 394 9.5.5 集合與數組的轉換 394 9.5.6 編寫自己的算法 395 9.6 遺留的集合 396 9.6.1 hashtable類 397 9.6.2 枚舉 397 9.6.3 屬性映射 398 9.6.4 棧 399 9.6.5 位集 399 第10章 圖形程序設計 403 10.1 swing概述 403 10.2 創建框架 407 10.3 框架定位 409 10.3.1 框架屬性 411 10.3.2 確定合適的框架大小 411 10.4 在組件中顯示信息 415 10.5 處理2d圖形 419 10.6 使用顏色 426 10.7 文本使用特殊字體 429 10.8 顯示圖像 435 第11章 事件處理 439 11.1 事件處理基礎 439 11.1.1 實例:處理按鈕點擊事件 441 11.1.2 簡潔地指定監聽器 445 11.1.3 實例:改變觀感 447 11.1.4 適配器類 450 11.2 動作 453 11.3 鼠標事件 459 11.4 awt事件繼承層次 465 11.4.1 語義事件和底層事件 466 第12章 swing用戶界面組件 469 12.1 swing和模型–視圖–控制器設計模式 469 12.2 布局管理概述 474 12.3 文本輸入 481 12.4 選擇組件 488 12.5 菜單 504 12.6 復雜的布局管理 518 12.7 對話框 541 12.8 gui程序排錯 573 第13章 部署java應用程序 580 13.1 jar文件 580 13.2 應用首選項的存儲 586 13.3 服務加載器 596 13.4 applet 598 13.5 java web start 614 第14章 并發 624 14.1 什么是線程 624 14.2 中斷線程 632 14.3 線程狀態 635 14.4 線程屬性 638 14.5 同步 640 14.6 阻塞隊列 668 14.7 線程安全的集合 673 14.8 callable與future 681 14.9 執行器 685 14.10 同步器 696 14.11 線程與swing 698 附錄a java關鍵字 710
展開全部
Java核心技術-基礎知識-卷1-(原書第10版) 作者簡介
凱
S. 霍斯特曼(Cay S.
Horstmann),圣何塞州立大學計算機科學系教授、Java的倡導者,經常在開發人員會議上發表演講。他是《Core Java for the
Impatient》(2015)《Java SE 8 for the Really Impatient》(2014)和《Scala for
the lmpatient》(2012)的作者,這些書均由Addison-Wesley出版。他為專業程序員和計算機科學專業學生編寫過數十本圖書。