注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術(shù)計算機/網(wǎng)絡軟件與程序設計JAVA及其相關深入淺出JDK 6.0

深入淺出JDK 6.0

深入淺出JDK 6.0

定 價:¥79.80

作 者: 涂傳濱
出版社: 電子工業(yè)出版社
叢編項: Java技術(shù)大系
標 簽: JAVA

ISBN: 9787121055034 出版時間: 2008-01-01 包裝: 平裝
開本: 16開 頁數(shù): 685 字數(shù):  

內(nèi)容簡介

  本書從Java語言的特點、語法、開發(fā)環(huán)境入手,深入講解如何利用JDK提供的API進行應用開發(fā),如輸入輸出、線程、圖形界面、數(shù)據(jù)庫存取、XML等,并對Java語言的高級開發(fā)技巧,如分布式計算、本地調(diào)用、Annotation、反射、動態(tài)代理、JMX等進行詳細的闡述。本書基于最新的JDK 6.0,對該版本新引入的特性:JDBC 4.0、內(nèi)嵌Apache Derby數(shù)據(jù)庫、動態(tài)語言支持、本地化桌面支持、增強的XML解析引擎等,均開辟專題予以介紹。并對Java相關技術(shù)和常用軟件工具包進行詳細講解,包括:Java客戶端開發(fā)技術(shù)SWT和JavaFX,數(shù)據(jù)庫存取框架Hibernate和iBatis,Groovy,以及Java與Ruby、Python、PHP等動態(tài)語言的結(jié)合,日志和日程工具包等。本書既可供Java語言的初學者作為入門書籍使用,也可供具有一定開發(fā)經(jīng)驗的人員作為進階材料閱讀。

作者簡介

  涂傳濱,1999年畢業(yè)于南昌大學。擁有多年的企業(yè)應用開發(fā)經(jīng)驗,現(xiàn)任廈門三五互聯(lián)科技股份有限公司(http://www.35.com)技術(shù)專家,從事基于互聯(lián)網(wǎng)的應用系統(tǒng)研發(fā),研究范圍包括基于互聯(lián)網(wǎng)的應用系統(tǒng)架構(gòu)、應用集成、安全技術(shù)、軟件過程等。在CN級刊物上發(fā)表論文多篇,從2004年底開始技術(shù)書籍的寫作。

圖書目錄

第1章  Java基礎    1
1.1  認識Java    2
1.1.1  Java語言的特點    2
1.1.2  Java程序運行環(huán)境    3
1.2  Java語法    4
1.2.1  數(shù)據(jù)類型    4
1.2.2  數(shù)組    5
1.2.3  運算符和表達式    6
1.2.4  流程控制    9
1.2.4.1  選擇結(jié)構(gòu)    9
1.2.4.2  循環(huán)結(jié)構(gòu)    11
1.2.4.3  跳轉(zhuǎn)結(jié)構(gòu)    13
1.2.5  關鍵字    14
1.3  Java語言的對象性    14
1.3.1  類和包    15
1.3.2  類的繼承    17
1.3.3  抽象類和接口    19
1.4  總結(jié)    20
第2章  Java進階    21
2.1  Java內(nèi)存管理    22
2.1.1  垃圾收集原理    22
2.1.2  對象引用的類型    24
2.2 “?!焙汀岸选钡膮^(qū)別    28
2.2.1  變量比較    28
2.2.2  變量復制    29
2.2.3  引用傳遞和值傳遞    30
2.3  異常機制    32
2.3.1  異常的原理    32
2.3.2  發(fā)生異常時的程序流程    33
2.3.3  巧妙利用異常    35
2.4  集合框架    36
2.4.1  集合框架概述    36
2.4.2  按鍵值自動排序的Map    38
2.4.3  元素位置固定的Map    39
2.4.4  線程安全的容器    40
2.4.5  存放弱引用的容器    40
2.5  其他方面    40
2.5.1  改進的診斷能力    41
2.5.2  Annotation    41
2.5.3  泛型    43
2.5.4  自動裝/拆箱    43
2.5.5  靜態(tài)引入    44
2.5.6  格式化輸入/輸出    44
2.5.7  參數(shù)數(shù)量可變    45
2.5.8  并行工具包    46
2.6  實用工具    46
2.6.1  程序注釋    46
2.6.2  Java類包管理工具    48
2.6.2.1  可執(zhí)行的JAR文件    49
2.6.2.2  JAR文件的索引    50
2.6.3  Java虛擬機啟動參數(shù)    52
2.6.4  Java程序調(diào)試工具    55
2.6.5  Java進程監(jiān)控平臺    57
2.6.6  JVM內(nèi)存分析工具    60
2.7  總結(jié)    61
第3章  第一個Java程序    62
3.1  搭建開發(fā)環(huán)境    63
3.1.1  下載并安裝JDK 6.0    63
3.1.1.1  在Windows平臺上安裝
3.1.1.1  JDK 6.0    63
3.1.1.2  在Linux平臺上安裝JDK 6.0    64
3.1.2  設置環(huán)境變量    66
3.2  實戰(zhàn)“Hello World”程序    67
3.2.1  控制臺版的Hello World    67
3.2.2  圖形界面版的Hello World    68
3.3  總結(jié)    69
第4章  文件系統(tǒng)    70
4.1  Java輸入輸出概述    71
4.2  文件的順序讀寫    72
4.2.1  字節(jié)流方式讀寫    72
4.2.1.1  字節(jié)輸入流    72
4.2.1.2  字節(jié)輸出流    75
4.2.2  字符流方式讀寫    78
4.2.2.1  字符輸入流    78
4.2.2.2  字符輸出流    81
4.3  文件的隨機讀寫    82
4.4  文件系統(tǒng)實用例程    83
4.4.1  創(chuàng)建文件和目錄    83
4.4.2  刪除文件和目錄    84
4.4.3  復制文件和目錄    86
4.4.4  移動文件和目錄    90
4.4.5  操作文件屬性    90
4.4.6  獲取可用空間    91
4.4.7  獲取目錄占用的空間    92
4.5  總結(jié)    93
第5章  網(wǎng)絡通信基礎    94
5.1  TCP基礎    95
5.1.1  TCP開發(fā)簡介    95
5.1.1.1  理解TCP Socket    95
5.1.1.2  TCP通信API    96
5.1.2  TCP開發(fā)實例——多線程服務器    99
5.1.3  TCP開發(fā)實例——連接池    104
5.1.3.1  連接池的原理    104
5.1.3.2  連接池的實現(xiàn)    105
5.2  UDP基礎    109
5.2.1  UDP開發(fā)簡介    109
5.2.1.1  理解UDP Socket    109
5.2.1.2  UDP通信API    110
5.2.2  UDP開發(fā)實例    111
5.2.3  多播套接字    113
5.2.3.1  多播套接字簡介    113
5.2.3.2  多播套接字開發(fā)實例    113
5.3  NIO(New I/O)基礎    115
5.3.1  NIO簡介    115
5.3.2  NIO開發(fā)實例    116
5.4  總結(jié)    119
第6章  輸入輸出綜合    120
6.1  Java I/O回顧    121
6.1.1  字節(jié)類API    121
6.1.1.1  字節(jié)輸入流    121
6.1.1.2  字節(jié)輸出流    122
6.1.2  字符類API    122
6.1.2.1  字符輸入流    122
6.1.2.2  字符輸出流    123
6.1.3  對象類API    123
6.1.3.1  對象輸入流    123
6.1.3.2  對象輸出流    124
6.2  對象序列化    124
6.2.1  對象序列化原理    124
6.2.2  修改默認的序列化機制    126
6.3  HTTP開發(fā)    128
6.3.1  HTTP通信原理    128
6.3.2  HTTP開發(fā)API    131
6.3.3  獲取HTTP網(wǎng)絡資源    132
6.3.4  登錄需要認證的站點    134
6.3.5  利用HttpUnit保持狀態(tài)    136
6.4  大文件傳輸    139
6.4.1  旨在降低風險的方案——分包
6.4.1  傳輸    140
6.4.2  旨在控制風險的方案——可靠
6.4.1  傳輸    149
6.5  字符集問題    153
6.6  Java I/O經(jīng)典范例    155
6.6.1  FTP客戶端    155
6.6.2  文件切割    156
6.6.3  通用文件系統(tǒng)(CIFS)    160
6.6.4  重定向控制臺輸出    162
6.6.5  與外部進程通信    163
6.7  總結(jié)    165
第7章  Java線程    166
7.1  線程簡介    167
7.1.1  什么是線程    167
7.1.2  多線程的用途    167
7.1.3  Java語言與多線程    169
7.2  多線程應用開發(fā)    169
7.2.1  創(chuàng)建和啟動線程    169
7.2.1.1  獲取當前線程對象    169
7.2.1.2  線程命名    170
7.2.1.3  構(gòu)造和啟動線程    170
7.2.1.4  線程優(yōu)先級    171
7.2.1.5  守護線程    173
7.2.2  Runnable接口和Thread基類    174
7.2.2.1  實現(xiàn)Runnable接口    174
7.2.2.2  繼承Thread基類    177
7.2.3  管理線程的狀態(tài)    179
7.2.3.1  線程的狀態(tài)    179
7.2.3.2  線程的等待和喚醒    180
7.2.3.3  線程的休眠和中斷    186
7.2.3.4  線程的終止    187
7.2.4  為程序添加退出事件    192
7.2.5  線程組    193
7.3  線程間通信    196
7.3.1  傳遞二進制信息    196
7.3.2  傳遞字符信息    197
7.4  實戰(zhàn)多線程下載    199
7.5  總結(jié)    204
第8章  并發(fā)情況下的多線程編程    205
8.1  線程安全    206
8.1.1  線程安全的本質(zhì)    206
8.1.2  變量安全    206
8.1.2.1  并發(fā)線程導致的變量安全
8.1.2.1  問題    206
8.1.2.2  變量安全問題的解決之道    208
8.1.2.3  ThreadLocal變量    212
8.1.3  線程同步    213
8.1.3.1  同步鎖的必要性    213
8.1.3.2  單實例線程的同步鎖    214
8.1.3.3  多實例線程的同步鎖    217
8.1.3.4  線程死鎖    220
8.2  實戰(zhàn)線程池開發(fā)    221
8.2.1  服務器的工作模式    221
8.2.2  實現(xiàn)線程池    223
8.2.2.1  線程池一    223
8.2.2.2  線程池二    227
8.3  并發(fā)工具包    232
8.3.1  線程池的類型    232
8.3.1.1  任務計劃線程池    232
8.3.1.2  固定線程池    234
8.3.1.3  緩存線程池    236
8.3.2  線程同步輔助類    237
8.3.2.1  CyclicBarrier    237
8.3.2.2  CountDownLatch    239
8.3.3  阻塞隊列    241
8.3.4  返回結(jié)果的線程    246
8.3.4.1  等待單個線程    246
8.3.4.2  等待一組線程    247
8.3.5  信號量限制    249
8.4  總結(jié)    250
第9章  Java安全    251
9.1  Java安全接口概述    252
9.1.1  Java安全接口的層次    252
9.1.2  Java安全的基礎設施    253
9.2  Java安全API    255
9.2.1  消息摘要    255
9.2.2  數(shù)字簽名    257
9.2.3  基于密碼術(shù)的加密    260
9.3  安全傳輸    261
9.3.1  SSL原理    261
9.3.2  底層的SSL支持——JSSE    263
9.3.3  針對HTTP的解決方案    271
9.4  訪問控制框架——JAAS    276
9.5  總結(jié)    278
第10章  圖形界面開發(fā)    279
10.1  圖形界面開發(fā)基礎    280
10.1.1  圖形坐標系統(tǒng)    280
10.1.2  字體和顏色    280
10.1.3  繪圖API    283
10.1.4  加載圖形文件    288
10.2  AWT和Swing控件    290
10.3  布局管理器    292
10.3.1  FlowLayout    292
10.3.2  GridLayout    294
10.3.3  BorderLayout    295
10.3.4  CardLayout    296
10.3.5  GridBagLayout    296
10.4  事件模型    298
10.4.1  事件類    299
10.4.2  事件監(jiān)聽器    299
10.4.3  事件適配器    300
10.5  在JBuilder中開發(fā)圖形界面應用    301
10.6  JDK 6.0的桌面API    307
10.6.1  資源關聯(lián)    307
10.6.2  桌面集成    310
10.6.2.1  Splash屏幕    310
10.6.2.2  系統(tǒng)托盤    310
10.7  總結(jié)    313
第11章  Applet、JavaWebStart、SWT
第11章  與JavaFX    314
11.1  Applet    315
11.1.1  Applet簡介    315
11.1.1.1  Applet的基礎概念    315
11.1.1.2  運行Applet    316
11.1.1.3  運行Applet的潛在問題    318
11.1.2  為Applet簽名    321
11.1.2.1  Java的權(quán)限體系    321
11.1.2.2  啟用數(shù)字簽名獲取運行
11.1.2.2  權(quán)限    323
11.1.3  用JavaScript操作Applet    325
11.2  JavaWebStart    327
11.2.1  JavaWebStart簡介    327
11.2.2  下載無須簽名的應用程序    327
11.2.3  下載需要簽名的應用程序    330
11.3  SWT    332
11.3.1  SWT簡介    332
11.3.2  SWT簡單應用實例    333
11.3.3  可視化編輯器SWT Designer    337
11.3.4  分發(fā)SWT應用程序    348
11.4  JavaFX    348
11.4.1  JavaFX簡介    348
11.4.2  在Eclipse中開發(fā)JavaFX應用    350
11.4.3  運行JavaFX應用    353
11.4.4  JavaFX與Java的結(jié)合    354
11.5  總結(jié)    355
第12章  數(shù)據(jù)庫存取    356
12.1  JDBC基礎    357
12.1.1  JDBC簡介    357
12.1.2  JDBC驅(qū)動程序    359
12.1.2.1  Derby    359
12.1.2.2  其他數(shù)據(jù)庫    362
12.1.2.3  自動加載驅(qū)動程序    363
12.1.3  JDBC基礎開發(fā)    364
12.1.3.1  查詢數(shù)據(jù)    364
12.1.3.2  增刪改數(shù)據(jù)    365
12.1.3.3  調(diào)用存儲過程    366
12.1.4  元數(shù)據(jù)    369
12.1.4.1  數(shù)據(jù)庫元數(shù)據(jù)    369
12.1.4.2  結(jié)果集元數(shù)據(jù)    374
12.1.5  JDBC異常    376
12.2  JDBC開發(fā)專題    376
12.2.1  數(shù)據(jù)集的二次處理    376
12.2.1.1  JDBC提供的ResultSet    377
12.2.1.2  JDBC提供的RowSet    382
12.2.1.3  DataExpress提供的
12.2.1.3  DataSet    389
12.2.2  RowId    397
12.2.3  動態(tài)游標    397
12.2.4  預編譯執(zhí)行計劃    399
12.2.5  批處理    400
12.2.5.1  基于Statement    400
12.2.5.2  基于PreparedStatement    401
12.2.6  操作大二進制數(shù)據(jù)    403
12.2.6.1  寫入BLOB數(shù)據(jù)    403
12.2.6.2  讀出BLOB數(shù)據(jù)    404
12.2.7  事務    405
12.2.7.1  簡單事務    406
12.2.7.2  SavePoint    407
12.3  數(shù)據(jù)庫之外的持久化手段——
12.3  Preferences API    409
12.4  Java目錄服務——JNDI    410
12.5  總結(jié)    413
第13章  開源數(shù)據(jù)庫產(chǎn)品    414
13.1  O/R Mapping框架——Hibernate    415
13.1.1  Hibernate配置    415
13.1.2  Hibernate對象操作    423
13.1.2.1  會話工廠與會話    423
13.1.2.2  延遲加載    424
13.1.2.3  級聯(lián)新增    427
13.1.2.4  級聯(lián)刪除    428
13.1.2.5  級聯(lián)修改    429
13.1.3  Hibernate HQL操作    432
13.2  O/R Mapping框架——iBatis    432
13.2.1  iBatis配置    432
13.2.2  iBatis對象操作    435
13.3  嵌入式數(shù)據(jù)庫——文件數(shù)據(jù)庫
13.3  BerkeleyDB    439
13.3.1  BerkeleyDB簡介    439
13.3.2  創(chuàng)建數(shù)據(jù)庫    441
13.3.3  數(shù)據(jù)基本操作    442
13.3.4  游標    444
13.4  嵌入式數(shù)據(jù)庫——內(nèi)存數(shù)據(jù)庫
13.3  StelsEngine    447
13.5  總結(jié)    449
第14章  分布式計算    450
14.1  鳥瞰分布式組件技術(shù)    451
14.2  RMI    451
14.2.1  RMI架構(gòu)    451
14.2.2  RMI實例    453
14.2.3  簡化RMI的部署實施    456
14.3  CORBA    459
14.3.1  CORBA簡介    459
14.3.1.1  什么是CORBA    459
14.3.1.2  ORB原理    459
14.3.1.3  CORBA與Java的關系    461
14.3.1.4  使用CORBA的優(yōu)點    462
14.3.2  接口定義語言IDL    463
14.3.3  使用JDK開發(fā)CORBA應用    464
14.3.3.1  簡單的CORBA應用    464
14.3.3.2  傳遞復雜數(shù)據(jù)類型的
14.3.3.2  CORBA應用    468
14.4  總結(jié)    476
第15章  Java本地調(diào)用    477
15.1  JNI原理    478
15.2  調(diào)用C程序    479
15.2.1  在Windows平臺上調(diào)用C函數(shù)    479
15.2.2  在Linux平臺上調(diào)用C函數(shù)    482
15.2.2.1  gcc簡介    482
15.2.2.2  簡單例程    484
15.2.2.3  傳遞字符串    485
15.2.2.4  傳遞整型數(shù)組    486
15.2.2.5  傳遞字符串數(shù)組    487
15.2.2.6  傳遞對象數(shù)組    489
15.3  調(diào)用Delphi程序    490
15.3.1  簡單例程    491
15.3.2  關閉窗口實用程序    492
15.4  總結(jié)    496
第16章  反射機制及其應用    497
16.1  反射機制概述    498
16.1.1  反射的原理    498
16.1.2  反射的簡單實例    500
16.2  Annotation    501
16.2.1  Annotation的原理    501
16.2.1.1  定義Annotation類型    502
16.2.1.2  使用Annotation類型    503
16.2.1.3  內(nèi)置的Annotation類型    504
16.2.2  Annotation的簡單實例    504
16.2.3  用Annotation開發(fā)
16.2.3  Web Services    507
16.3  動態(tài)代理    511
16.3.1  代理機制    512
16.3.2  Hibernate攔截器    514
16.3.3  Spring AOP    516
16.3.4  實現(xiàn)一個動態(tài)代理框架    519
16.4  操作JavaBeans    524
16.5  總結(jié)    528
第17章  Java動態(tài)編程    529
17.1  用Compiler API創(chuàng)建類文件    530
17.1.1  基礎應用    530
17.1.2  高級應用    532
17.2  用Instrumentation構(gòu)建代理    535
17.2.1  Instrumentation原理    535
17.2.2  基礎應用    536
17.2.3  轉(zhuǎn)換類文件字節(jié)碼    537
17.3  用Javassist轉(zhuǎn)換類文件    540
17.3.1  Javassist原理    540
17.3.2  基礎應用    541
17.4  用Spring替換類方法    545
17.5  用ClassEditor修改類文件    548
17.6  總結(jié)    550
第18章  與動態(tài)語言的結(jié)合    551
18.1  Java與JavaScript的結(jié)合    552
18.1.1  支持腳本語言的意義    552
18.1.2  Java對JavaScript的支持    552
18.1.2.1  執(zhí)行腳本語言    553
18.1.2.2  調(diào)用腳本語言的方法    553
18.1.2.3  腳本語言使用Java的
18.1.2.3  變量    554
18.1.2.4  腳本語言使用Java的類    555
18.1.2.5  腳本語言實現(xiàn)Java的
18.1.2.3  接口    556
18.1.3  測試腳本的工具    557
18.2  Java與Ruby的結(jié)合    558
18.2.1  JRuby的安裝    558
18.2.2  在Ruby中調(diào)用Java類    559
18.3  Java與PHP的結(jié)合    559
18.3.1  PHP-Java-Bridge的安裝    560
18.3.2  在PHP中調(diào)用Java類    561
18.4  Java與Python的結(jié)合    561
18.4.1  Jython的安裝    562
18.4.2  在Java中執(zhí)行Python語句    562
18.4.3  在Python中調(diào)用Java類    564
18.4.4  把Python程序編譯成Java類    564
18.5  Groovy簡介    564
18.6  內(nèi)嵌HTTP Server    566
18.7  總結(jié)    567
第19章  JMX資源管理容器    568
19.1  JMX概述    569
19.1.1  JMX簡介    569
19.1.2  JMX的層次結(jié)構(gòu)    569
19.2  MBean的分類    571
19.2.1  標準MBean    571
19.2.2  動態(tài)MBean    574
19.2.3  開放MBean    579
19.2.4  模型MBean    579
19.3  JMX管理界面    579
19.4  JMX通知服務    581
19.5  總結(jié)    584
第20章  XML開發(fā)    585
20.1  XML簡介    586
20.1.1  XML文檔規(guī)則    586
20.1.2  常用概念    586
20.1.3  第一個XML文檔    587
20.2  XML解析    588
20.2.1  DOM    588
20.2.2  DOM4J    592
20.2.3  SAX    593
20.2.3.1  用SAX解析XML    593
20.2.3.2  用SAX同步解析XML
20.2.3.2  數(shù)據(jù)流    597
20.2.4  StAX    601
20.3  XML編輯    603
20.3.1  用DOM創(chuàng)建XML    603
20.3.2  用JDOM修改XML    606
20.4  XML轉(zhuǎn)換    608
20.4.1  XSLT簡介    608
20.4.2  客戶端轉(zhuǎn)換    609
20.4.3  服務端轉(zhuǎn)換    613
20.5  XML校驗    616
20.5.1  DTD簡介    616
20.5.2  XML Schema簡介    617
20.5.3  用XDK校驗XML    619
20.6  XML映射    621
20.6.1  XML屬性文件    621
20.6.2  用JAXB 2.0映射對象    623
20.6.2.1  對象映射    624
20.6.2.2  對象集合映射    628
20.7  總結(jié)    630
第21章  常用工具包    631
21.1  日志工具包Log4J    632
21.1.1  簡單實例    632
21.1.2  原理分析    633
21.1.3  專業(yè)化應用    635
21.1.4  一個啟示    637
21.2  日程工具    639
21.2.1  日程工具類Timer    639
21.2.2  日程工具包Quartz    640
21.2.2.1  常規(guī)應用    640
21.2.2.2  持久化任務    644
21.3  ZIP工具類    648
21.3.1  JDK提供的ZIP工具類    648
21.3.2  Apache提供的ZIP工具類    651
21.4  Excel文檔存取工具包POI    653
21.5  將Java程序封裝成NT Service    657
21.6  與COM組件互操作    664
21.7  把POJO發(fā)布成Web Services    666
21.7.1  編寫服務程序    666
21.7.2  編寫客戶程序    669
21.7.2.1  根據(jù)服務接口    669
21.7.2.2  根據(jù)WSDL    670
21.8  Velocity模板引擎    671
21.9  性能監(jiān)視工具    673
21.10  總結(jié)    675
附錄A  在XMLSpy中編寫DTD    676
附錄B  在XMLSpy中編寫XML Schema    679
附錄C  HTTP 1.1狀態(tài)代碼及其含義    684

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號