Java核心技術
作 者: (美)凱 S.霍斯特曼(Cay S.Horstmann) 著;陳昊鵬 譯 著
定 價: 139
出?版?社: 機械工業出版社
出版日期: 2017年09月01日
頁 數: 803
裝 幀: 平裝
ISBN: 9787111573319
●譯者序
前言
章JavaSE8的流庫1
1.1從迭代到流的操作1
1.2流的創建3
1.3filter、map和flatMap方法6
1.4抽取子流和連接流8
1.5其他的流轉換8
1.6簡單約簡9
1.7Optional類型11
1.7.1如何使用Optional值11
1.7.2不適合使用Optional值的方式12
1.7.3創建Optional值13
1.7.4用flatMap來構建Optional值的函數13
1.8收集結果15
1.9收集到映射表中19
1.10群組和分區23
1.11下遊收集器24
1.12約簡操作28
1.13基本類型流29
1.14並行流34
第2章輸入與輸出39
2.1輸入/輸出流39
2.1.1讀寫字節39
2.1.2完整的流家族42
2.1.3組合輸入/輸出流過濾器45
2.2文本輸入與輸出48
2.2.1如何寫出文本輸出49
2.2.2如何讀入文本輸入51
2.2.3以文本格式存儲對像52
2.2.4字符編碼方式55
2.3讀寫二進制數據57
2.3.1DataInput和DataOutput接口57
2.3.2隨機訪問文件59
2.3.3ZIP文檔63
2.4對像輸入/輸出流與序列化66
2.4.1保存和加載序列化對像66
2.4.2理解對像序列化的文件格式70
2.4.3修改默認的序列化機制75
2.4.4序列化單例和類型安全的枚舉77
2.4.5版本管理78
2.4.6為克隆使用序列化80
2.5操作文件83
2.5.1Path83
2.5.2讀寫文件85
2.5.3創建文件和目錄87
2.5.4復制、移動和刪除文件88
2.5.5獲取文件信息89
2.5.6訪問目錄中的項91
2.5.7使用目錄流92
2.5.8ZIP文件繫統95
2.6內存映射文件96
2.6.1內存映射文件的性能96
2.6.2緩衝區數據結構103
2.6.3文件加鎖機制105
2.7正則表達式106
第3章XML117
3.1XML概述117
3.1.1XML文檔的結構119
3.2解析XML文檔122
3.3驗證XML文檔132
3.3.1文檔類型定義133
3.3.2XMLSchema139
3.3.3實用示例142
3.4使用XPath來定位信息154
3.5使用命名空間159
3.6流機制解析器162
3.6.1使用SAX解析器162
3.6.2使用StAX解析器166
3.7生成XML文檔170
3.7.1不帶命名空間的文檔170
3.7.2帶命名空間的文檔170
3.7.3寫出文檔171
3.7.4示例:生成SVG文件172
3.7.5使用StAX寫出XML文檔174
3.8XSL轉換181
第4章網絡191
4.1連接到服務器191
4.1.1使用telnet191
4.1.2用Java連接到服務器193
4.1.3套接字超時195
4.1.4因特網地址196
4.2實現服務器198
4.2.1服務器套接字198
4.2.2為多個客戶端服務201
4.2.3半關閉204
4.3可中斷套接字205
4.4獲取Web數211
4.4.1URL和URI211
4.4.2使用URLConnection獲取信息213
4.4.3提交表單數據220
4.5發送E—mail228
第5章數據庫編程232
5.1JDBC的設計232
5.1.1JDBC驅動程序類型233
5.1.2JDBC的典型用法234
5.2結構化查詢語言234
5.3JDBC配置239
5.3.1數據庫URL240
5.3.2驅動程序JAR文件240
5.3.3啟動數據庫240
5.3.4注冊驅動器類241
5.3.5連接到數據庫242
5.4使用JDBC語句244
5.4.1執行SQL語句244
5.4.2管理連接、語句和結果集247
5.4.3分析SQL異常248
5.4.4組裝數據庫250
5.5執行查詢操作254
5.5.1預備語句254
5.5.2讀寫LOB259
5.5.3SQL轉義261
5.5.4多結果集262
5.5.5獲取自動生成的鍵263
5.6可滾動和可更新的結果集263
5.6.1可滾動的結果集264
5.6.2可更新的結果集266
5.7行集269
5.7.1構建行集270
5.7.2被緩存的行集270
數據273
5.9事務282
5.9.1用JDBC對事務編程282
5.9.2保存點283
5.9.3批量更新283
5.10不錯SQL類型285
5.11Web與企業應用中的連接管理286
第6章日期和時間API288
6.1時間線288
6.2本地時間291
6.3日期調整器294
6.4本地時間295
6.5時區時間296
6.6格式化和解析299
6.7與遺留代碼的互操作302
第7章國際化304
7.1Locale對像304
7.2數字格式309
7.3貨幣314
7.4日期和時間315
7.5排序和範化321
7.6消息格式化327
7.6.1格式化數字和日期327
7.6.2選擇格式329
7.7文本文件和字符集331
7.7.1文本文件331
7.7.2行結束符331
7.7.3控制臺331
7.7.4日志文件332
7.7.5UTF—8字節順序標志332
7.7.6源文件的字符編碼333
7.8資源包333
7.8.1定位資源包334
7.8.2屬性文件335
7.8.3包類335
7.9一個完整的例子337
第8章腳本、編譯與注解處理352
8.1Java平臺的腳本352
8.1.1獲取腳本引擎352
8.1.2腳本賦值與綁定353
8.1.3重定向輸入和輸出355
8.1.4調用腳本的函數和方法356
8.1.5編譯腳本357
8.1.6一個示例:用腳本處理GUI事件358
8.2編譯器API363
8.2.1編譯便捷之法363
8.2.2使用編譯工具363
8.2.3一個示例:動態Java代碼生成368
8.3使用注解373
8.3.1注解簡介373
8.3.2一個示例:注解事件處理器374
8.4注解語法379
8.4.1注解接口379
8.4.2注解380
8.4.3注解各類聲明382
8.4.4注解類型用法383
8.4.5注解this384
8.5標準注解385
8.5.1用於編譯的注解386
8.5.2用於管理資源的注解386
8.注解387
8.6源碼級注解處理389
8.6.1注解處理389
8.6.2語言模型API390
8.6.3使用注解來生成源碼390
8.7字節碼工程393
8.7.1修改類文件393
8.7.2在加載時修改字節碼398
第9章安全401
9.1類加載器401
9.1.1類加載過程402
9.1.2類加載器的層次結構403
9.1.3將類加載器作為命名空間404
9.1.4編寫你自己的類加載器405
9.1.5字節碼校驗410
9.2安全管理器與訪問權限414
9.2.1權限檢查414
9.2.2Java平臺安全性415
9.2.3安全策略文件418
9.2.4定制權限424
9.2.5實現權限類426
9.3用戶認證431
9.3.1JAAS框架431
9.3.2JAAS登錄模塊437
9.4數字簽名445
9.4.1消息摘要445
9.4.2消息簽名448
9.4.3校驗簽名449
9.4.4認證問題452
9.4.5證書簽名454
9.4.6證書請求454
9.4.7代碼簽名455
9.5加密460
9.5.1對稱密碼461
9.5.2密鑰生成462
9.5.3密碼流466
9.5.4公共密鑰密碼467
0章不錯Swing472
10.1列表472
10.1.1JList構件472
10.1.2列表模式477
10.1.3插入和移除值481
10.1.4值的繪制482
10.2表格486
10.2.1簡單表格486
10.2.2表格模型489
10.2.3對行和列的操作493
10.2格的繪制和編輯506
10.3樹517
10.3.1簡單的樹518
10.3.2編輯樹和樹的路徑524
10.3.3節點枚舉530
10.3.4繪制節點532
10.3.5監聽樹事件534
10.3.6定制樹模型541
10.4文本構件548
10.4.1文本構件中的修改跟蹤549
10.4.2格式化的輸入框552
10.4.3JSpinner構件567
10.4.4用JEditorPane顯示HTML574
10.5進度指示器579
10.5.1進度條580
10.5.2進度監視器582
10.5.3監視輸入流的進度585
10.6構件組織器和裝飾器590
10.6.1分割面板590
10.6.2選項卡面板592
10.6.3桌面面板和內部框體597
10.6.4層613
1章不錯AWT618
11.1繪圖操作流程618
11.2形狀620
11.2.1形狀類層次結構621
11.2.2使用形狀類623
11.3區域634
11.4筆劃635
11.5著色642
11.6坐標變換644
11.7剪切648
11.8透明與組合650
11.9繪圖提示657
11.10圖像的讀取器和寫入器663
11.10.1獲得適合圖像文件類型的讀取器和寫入器663
11.10.2讀取和寫入帶有多個圖像的文件664
11.11圖像處理671
11.11.1構建光柵圖像672
11.11.2圖像過濾678
11.12打印685
11.12.1圖形打印685
11.12.2打印多頁文件693
11.12.3打印預覽694
11.12.4打印服務程序702
11.12.5流打印服務程序706
11.12.6打印屬性707
11.13剪貼板712
11.13.1用於數據傳遞的類和接口713
11.13.2傳遞文本714
11.13.3Transferable接口和數據風格717
11.13.4構建一個可傳遞的圖像718
11.13.5通過繫統剪貼板傳遞Java對像722
11.13.6使用本地剪貼板來傳遞對像引用725
11.14拖放操作725
11.14.1Swing對數據傳遞的支持726
11.14.2拖曳源730
11.14.3放置目標732
11.15平臺集成739
11.15.1閃屏739
11.15.2啟動桌面應用程序743
11.15.3繫統托盤748
2章本地方法752
12.1從Java程序中調用C函數752
12.2數值參數與返回值757
12.3字符串參數759
12.4訪問域764
12.4.1訪問實例域765
12.4.2訪問靜態域768
12.5編碼簽名769
12.6調用Java方法770
12.6.1實例方法771
12.6.2靜態方法774
12.6.3構造器775
12.6.4另一種方法調用775
12.7訪素777
12.8錯誤處理780
12.9使用調用API785
12.10完整的示例:訪問Windows注冊表789
12.10.1Windows注冊表概述789
12.10.2訪問注冊表的Java平臺接口791
12.10.3以本地方法方式實現注冊表訪問函數791
內容簡介
本書是Java領域有影響力和價值的著作之一,由擁有20多年教學與研究經驗的Java技術專家撰寫(獲Jolt大獎),與《Java編程思想》齊名,10餘年優選暢銷不衰,廣受好評。0版根據JavaSE8全面更新,同時修正了第9版中的不足,繫統全面講解了Java語言的核心概念、語法、重要特性和開發方法,包含大量案例,實踐性強。
(美)凱 S.霍斯特曼(Cay S.Horstmann) 著;陳昊鵬 譯 著
凱 S.霍斯特曼,聖何塞州立大學計算機科學繫教授、Java的倡導者,經常在開發人員會議上發表演講。他是《C0 re Java fo r the Impatient》(2015)《Java SE 8 for the Really Impatient》(2014)和《Scala for the Impatient》(2012)的作者,這些書均由Addison―Wesley出版。他為專業程序員和計算機科學專業學生編寫過數十本圖書。
前 言致讀者本書是按照Java SE 8完全更新後的《Java核心技術 卷Ⅱ 不錯特性(原書0版)》。卷Ⅰ主要介紹了Java語言的一些關鍵特性;而本卷主要介紹編程人員進行專業軟件開發時需要了解的不錯主題。因此,與本書卷Ⅰ和之前的版本一樣,我們仍將本書定位於用Java技術進行實際項目開發的編程人員。 編寫任何一本書籍都難免會有一些錯誤或不準確的地方。我們非常樂意聽到讀者的意見。當然,我們更希望對本書問題的報告隻聽到一次。為此,我們創建了一個FAQ、bug修正以及應急方案的網站http:// horstmann.com/corejava。你可以在bug報告網頁(該網頁的目的是鼓勵讀者閱讀以前的報告)的末尾處添加bug報告,以此來發布bug和問題並給出建議,以便我們改進本書將來版本的質量。 內容......