日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計JAVA及其相關(guān)瘋狂Java講義(第2版)

瘋狂Java講義(第2版)

瘋狂Java講義(第2版)

定 價:¥109.00

作 者: 李剛 編著
出版社: 電子工業(yè)出版社
叢編項:
標(biāo) 簽: J2EE

ISBN: 9787121155789 出版時間: 2012-01-08 包裝: 平裝
開本: 16 開 頁數(shù): 864 字?jǐn)?shù):  

內(nèi)容簡介

  內(nèi) 容 簡 介本書是《瘋狂Java講義》的第2版,第2版保持了第1版系統(tǒng)、全面、講解淺顯、細(xì)致的特性,全面介紹了新增的Java7的新特性。本書深入介紹了Java編程的相關(guān)方面,全書內(nèi)容覆蓋了Java的基本語法結(jié)構(gòu)、Java的面向?qū)ο筇卣?、Java集合框架體系、Java泛型、異常處理、Java GUI編程、JDBC數(shù)據(jù)庫編程、Java注釋、Java的IO流體系、Java多線程編程、Java網(wǎng)絡(luò)通信編程和Java反射機(jī)制;覆蓋了java.lang、java.util、java.text、java.io和java.nio、java.sql、java.awt、javax.swing包下絕大部分類和接口。本書全面介紹了Java 7的二進(jìn)制整數(shù)、菱形語法、增強(qiáng)switch語句、多異常捕獲、自動關(guān)閉資源的try語句、JDBC4.1新特性、NIO.2、AIO等新特性。與第1版類似,本書并不單純從知識角度來講解Java,而是從解決問題的角度來介紹Java語言,所以本書中涉及大量的實用案例開發(fā):五子棋游戲、梭哈游戲、仿QQ的游戲大廳、MySQL企業(yè)管理器、仿EditPlus的文本編輯器、多線程、斷點下載工具、Spring框架的IoC容器……這些案例既能讓讀者鞏固每章的知識,又可以讓讀者學(xué)以致用,激發(fā)編程自豪感,進(jìn)而引爆內(nèi)心的編程激情。本書光盤里包含書中所有示例的代碼和《瘋狂Java實戰(zhàn)演義》的所有項目代碼,這些項目可以作為本書課后練習(xí)的“非標(biāo)準(zhǔn)答案”。如果讀者需要獲取關(guān)于課后習(xí)題的解決方法、編程思路,可以登錄http://www.crazyit.org站點與筆者及本書龐大的讀者群相互交流。本書為所有打算深入掌握J(rèn)ava編程的讀者而編寫,適合各種層次的Java學(xué)習(xí)者和工作者閱讀,也適合作為大學(xué)教育、培訓(xùn)機(jī)構(gòu)的Java教材。但如果只是想簡單涉獵Java,則本書過于龐大,不適合閱讀。

作者簡介

  作者簡介李剛,從事10多年的Java EE應(yīng)用開發(fā),現(xiàn)任瘋狂軟件教育中心教學(xué)總監(jiān)。瘋狂Java實訓(xùn)營創(chuàng)始人,瘋狂Java體系圖書作者。曾任LITEON公司的J2EE技術(shù)主管,負(fù)責(zé)該公司的企業(yè)信息化平臺的架構(gòu)設(shè)計。曾任廣州電信、廣東龍泉科技等公司的技術(shù)培訓(xùn)導(dǎo)師。曾兼任廣東技術(shù)師范學(xué)院計算機(jī)科學(xué)系的兼職副教授。2007年3月26日的《電腦報》專訪人物。培訓(xùn)的學(xué)生已在華為、立信、普信、網(wǎng)易、電信盈科等公司就職。國內(nèi)著名的高端IT技術(shù)作家,已出版《瘋狂Java講義》、《瘋狂Android講義》、《輕量級Java EE企業(yè)應(yīng)用實戰(zhàn)》、《瘋狂Ajax講義》、《瘋狂XML講義》、《經(jīng)典JavaEE企業(yè)應(yīng)用實戰(zhàn)》、《Struts2.1權(quán)威指南》、《Ruby OnRails敏捷開發(fā)最佳實踐》等著作。其中瘋狂Java體系圖書都是已經(jīng)得到廣泛的市場認(rèn)同,并多次重印的暢銷圖書,并被多家高校選作教材,部分圖書已被翻譯成繁體中文版、輸出到臺灣地區(qū)。

圖書目錄

目  錄
第1章  Java語言概述    1
1.1  Java語言的發(fā)展簡史    2
1.2  Java的競爭對手及各自優(yōu)勢    4
1.2.1  C#簡介和優(yōu)勢    4
1.2.2  Ruby簡介和優(yōu)勢    5
1.2.3  Python簡介和優(yōu)勢    5
1.3  Java程序運行機(jī)制    6
1.3.1  高級語言的運行機(jī)制    6
1.3.2  Java程序的運行機(jī)制和JVM    6
1.4  開發(fā)Java的準(zhǔn)備    7
1.4.1  下載和安裝Java 7的JDK    8
不是說JVM是運行Java程序的虛擬機(jī)嗎?那JRE和JVM的關(guān)系是怎樣的呢?    8
為什么不安裝公共JRE呢?    9
1.4.2  設(shè)置PATH環(huán)境變量    10
為什么選擇用戶變量?用戶變量與系統(tǒng)變量有什么區(qū)別?    11
1.5  第一個Java程序    11
1.5.1  編輯Java源代碼    11
1.5.2  編譯Java程序    12
當(dāng)我們編譯C程序時,不僅需要指定存放目標(biāo)文件的位置,也需要指定目標(biāo)文件的文件名,這里使用javac編譯Java程序時怎么不需要指定目標(biāo)文件的文件名呢?   12
1.5.3  運行Java程序    13
1.5.4  根據(jù)CLASSPATH環(huán)境變量
定位類    14
1.6  Java程序的基本規(guī)則    15
1.6.1  Java程序的組織形式    15
1.6.2  Java源文件的命名規(guī)則    15
1.6.3  初學(xué)者容易犯的錯誤    16
1.7  垃圾回收機(jī)制    18
1.8  何時開始使用IDE工具    19
我想學(xué)習(xí)Java編程,到底是學(xué)習(xí)Eclipse好呢,還是學(xué)習(xí)NetBeans好呢?   20
1.9  本章小結(jié)    20
本章練習(xí)    20
第2章  理解面向?qū)ο?nbsp;   21
2.1  面向?qū)ο?nbsp;   22
2.1.1  結(jié)構(gòu)化程序設(shè)計簡介    22
2.1.2  程序的三種基本結(jié)構(gòu)    23
2.1.3  面向?qū)ο蟪绦蛟O(shè)計簡介    25
2.1.4  面向?qū)ο蟮幕咎卣?nbsp;   26
2.2  UML(統(tǒng)一建模語言)介紹    27
2.2.1  用例圖    29
2.2.2  類圖    29
2.2.3  組件圖    31
2.2.4  部署圖    32
2.2.5  順序圖    32
2.2.6  活動圖    33
2.2.7  狀態(tài)機(jī)圖    34
2.3  Java的面向?qū)ο筇卣?nbsp;   35
2.3.1  一切都是對象    35
2.3.2  類和對象    35
2.4  本章小結(jié)    36
第3章  數(shù)據(jù)類型和運算符    37
3.1  注釋    38
3.1.1  單行注釋和多行注釋    38
3.1.2  文檔注釋    39
API文檔是什么?    39
為什么要掌握查看API文檔的方法?    41
3.2  標(biāo)識符和關(guān)鍵字    45
3.2.1  分隔符    45
3.2.2  標(biāo)識符規(guī)則    46
3.2.3  Java關(guān)鍵字    46
3.3  數(shù)據(jù)類型分類    47
3.4  基本數(shù)據(jù)類型    47
3.4.1  整型    48
3.4.2  Java 7新增的二進(jìn)制整數(shù)    49
3.4.3  字符型    50
3.4.4  浮點型    51
3.4.5  Java 7新增的數(shù)值中使用下畫線
分隔    52
3.4.6  布爾型    52
3.5  基本類型的類型轉(zhuǎn)換    53
3.5.1  自動類型轉(zhuǎn)換    53
3.5.2  強(qiáng)制類型轉(zhuǎn)換    54
3.5.3  表達(dá)式類型的自動提升    56
3.6  直接量    57
3.6.1  直接量的類型    57
3.6.2  直接量的賦值    57
3.7  運算符    58
3.7.1  算術(shù)運算符    58
3.7.2  賦值運算符    61
3.7.3  位運算符    61
3.7.4  擴(kuò)展后的賦值運算符    64
3.7.5  比較運算符    65
3.7.6  邏輯運算符    66
3.7.7  三目運算符    66
3.7.8  運算符的結(jié)合性和優(yōu)先級    67
3.8  本章小結(jié)    68
本章練習(xí)    68
第4章  流程控制與數(shù)組    70
4.1  順序結(jié)構(gòu)    71
4.2  分支結(jié)構(gòu)    71
4.2.1  if條件語句    71
4.2.2  Java 7的switch分支語句    75
4.3  循環(huán)結(jié)構(gòu)    77
4.3.1  while循環(huán)語句    77
4.3.2  do while循環(huán)語句    78
4.3.3  for循環(huán)    79
4.3.4  嵌套循環(huán)    81
4.4  控制循環(huán)結(jié)構(gòu)    83
4.4.1  使用break結(jié)束循環(huán)    83
4.4.2  使用continue結(jié)束本次循環(huán)    84
4.4.3  使用return結(jié)束方法    85
4.5  數(shù)組類型    86
4.5.1  理解數(shù)組:數(shù)組也是一種類型    86
int[]是一種類型嗎?怎么使用這種類型呢?    86
4.5.2  定義數(shù)組    86
4.5.3  數(shù)組的初始化    87
能不能只分配內(nèi)存空間,不賦初始值呢?    87
4.5.4  使用數(shù)組    88
為什么要我記住這些異常信息?    89
4.5.5  foreach循環(huán)    89
4.6  深入數(shù)組    91
4.6.1  內(nèi)存中的數(shù)組    91
為什么有棧內(nèi)存和堆內(nèi)存之分?    91
4.6.2  基本類型數(shù)組的初始化    93
4.6.3  引用類型數(shù)組的初始化    94
4.6.4  沒有多維數(shù)組    96
我是否可以讓圖4.13中灰色覆蓋的數(shù)組元素再次指向另一個數(shù)組?這樣不就可以擴(kuò)展成三維數(shù)組嗎?甚至擴(kuò)展成更多維的數(shù)組?   98
4.6.5  操作數(shù)組的工具類    99
4.6.6  數(shù)組的應(yīng)用舉例    101
4.7  本章小結(jié)    104
本章練習(xí)    104
第5章  面向?qū)ο螅ㄉ希?nbsp;   105
5.1  類和對象    106
5.1.1  定義類    106
構(gòu)造器不是沒有返回值嗎?為什么不能用void修飾呢?    108
5.1.2  對象的產(chǎn)生和使用    108
5.1.3  對象、引用和指針    109
5.1.4  對象的this引用    110
5.2  方法詳解    114
5.2.1  方法的所屬性    114
5.2.2  方法的參數(shù)傳遞機(jī)制    115
5.2.3  形參個數(shù)可變的方法    118
5.2.4  遞歸方法    119
5.2.5  方法重載    121
為什么方法的返回值類型不能用于區(qū)分重載的方法?    121
5.3  成員變量和局部變量    122
5.3.1  成員變量和局部變量    122
5.3.2  成員變量的初始化和內(nèi)存中的
運行機(jī)制    125
5.3.3  局部變量的初始化和內(nèi)存中的
運行機(jī)制    127
5.3.4  變量的使用規(guī)則    128
5.4  隱藏和封裝    129
5.4.1  理解封裝    129
5.4.2  使用訪問控制符    129
5.4.3  package、import和import static   132
5.4.4  Java的常用包    137
5.5  深入構(gòu)造器    137
5.5.1  使用構(gòu)造器執(zhí)行初始化    138
構(gòu)造器是創(chuàng)建Java對象的途徑,是不是說構(gòu)造器完全負(fù)責(zé)創(chuàng)建Java對象?    138
5.5.2  構(gòu)造器重載    139
為什么要用this來調(diào)用另一個重載的構(gòu)造器?我把另一個構(gòu)造器里的代碼復(fù)制、粘貼到這個構(gòu)造器里不就可以了嗎?   140
5.6  類的繼承    140
5.6.1  繼承的特點    141
5.6.2  重寫父類的方法    142
5.6.3  super限定    143
5.6.4  調(diào)用父類構(gòu)造器    146
為什么我創(chuàng)建Java對象時從未感覺到j(luò)ava.lang. Object類的構(gòu)造器被調(diào)用過?   148
5.7  多態(tài)    148
5.7.1  多態(tài)性    148
5.7.2  引用變量的強(qiáng)制類型轉(zhuǎn)換    149
5.7.3  instanceof運算符    151
5.8  繼承與組合    151
5.8.1  使用繼承的注意點    151
5.8.2  利用組合實現(xiàn)復(fù)用    153
使用組合關(guān)系來實現(xiàn)復(fù)用時,需要創(chuàng)建兩個Animal對象,是不是意味著使用組合關(guān)系時系統(tǒng)開銷更大?   155
5.9  初始化塊    156
5.9.1  使用初始化塊    156
5.9.2  初始化塊和構(gòu)造器    157
5.9.3  靜態(tài)初始化塊    158
5.10  本章小結(jié)    160
本章練習(xí)    161
第6章  面向?qū)ο螅ㄏ拢?nbsp;   162
6.1  Java 7增強(qiáng)的包裝類    163
Java為什么要對這些數(shù)據(jù)進(jìn)行緩存呢?    166
6.2  處理對象    167
6.2.1  打印對象和toString方法    167
6.2.2  ==和equals方法    168
判斷obj是否為Person類的實例時,為何不用obj instanceofPerson來判斷呢?    172
6.3  類成員    172
6.3.1  理解類成員    172
6.3.2  單例(Singleton)類    173
6.4  final修飾符    174
6.4.1  final成員變量    174
6.4.2  final局部變量    176
6.4.3  final修飾基本類型變量和
引用類型變量的區(qū)別    177
6.4.4  可執(zhí)行“宏替換”的final變量    177
6.4.5  final方法    179
6.4.6  final類    180
6.4.7  不可變類    180
6.4.8  緩存實例的不可變類    183
6.5  抽象類    186
6.5.1  抽象方法和抽象類    186
6.5.2  抽象類的作用    189
6.6  更徹底的抽象:接口    190
6.6.1  接口的概念    190
6.6.2  接口的定義    191
6.6.3  接口的繼承    192
6.6.4  使用接口    193
6.6.5  接口和抽象類    194
6.6.6  面向接口編程    195
6.7  內(nèi)部類    199
6.7.1  非靜態(tài)內(nèi)部類    199
非靜態(tài)內(nèi)部類對象和外部類對象的關(guān)系是怎樣的?    202
6.7.2  靜態(tài)內(nèi)部類    203
為什么靜態(tài)內(nèi)部類的實例方法也不能訪問外部類的實例屬性呢?    204
接口里是否能定義內(nèi)部接口?    205
6.7.3  使用內(nèi)部類    205
既然內(nèi)部類是外部類的成員,那么是否可以為外部類定義子類,在子類中再定義一個內(nèi)部類來重寫其父類中的內(nèi)部類?   207
6.7.4  局部內(nèi)部類    207
6.7.5  匿名內(nèi)部類    208
6.7.6  閉包(Closure)和回調(diào)    211
6.8  枚舉類    213
6.8.1  手動實現(xiàn)枚舉類    213
6.8.2  枚舉類入門    215
6.8.3  枚舉類的Field、方法和構(gòu)造器    216
6.8.4  實現(xiàn)接口的枚舉類    218
枚舉類不是用final修飾了嗎?怎么還能派生子類呢?    207
6.8.5  包含抽象方法的枚舉類    220
6.9  對象與垃圾回收    221
6.9.1  對象在內(nèi)存中的狀態(tài)    221
6.9.2  強(qiáng)制垃圾回收    222
6.9.3  finalize方法    223
6.9.4  對象的軟、弱和虛引用    225
6.10  修飾符的適用范圍    228
6.11  使用JAR文件    229
6.11.1  jar命令詳解    230
6.11.2  創(chuàng)建可執(zhí)行的JAR包    232
6.11.3  關(guān)于JAR包的技巧    232
6.12  本章小結(jié)    233
本章練習(xí)    233
第7章  與運行環(huán)境交互    234
7.1  與用戶互動    235
7.1.1  運行Java程序的參數(shù)    235
7.1.2  使用Scanner獲取鍵盤輸入    236
7.1.3  使用BufferedReader獲取
鍵盤輸入    238
7.2  系統(tǒng)相關(guān)    238
7.2.1  System類    239
7.2.2  Runtime類    240
7.3  常用類    241
7.3.1  Object類    241
7.3.2  Java 7新增的Objects類    243
7.3.3  String、StringBuffer和
StringBuilder類    244
7.3.4  Math類    247
7.3.5  Java 7的ThreadLocalRandom
與Random    248
7.3.6  BigDecimal類    250
7.4  處理日期的類    253
7.4.1  Date類    253
7.4.2  Calendar類    254
7.4.3  TimeZone類    257
7.5  正則表達(dá)式    258
7.5.1  創(chuàng)建正則表達(dá)式    258
7.5.2  使用正則表達(dá)式    261
7.6  國際化與格式化    264
7.6.1  Java國際化的思路    265
7.6.2  Java支持的國家和語言    265
7.6.3  完成程序國際化    266
7.6.4  使用MessageFormat處理
包含占位符的字符串    267
7.6.5  使用類文件代替資源文件    268
7.6.6  使用NumberFormat格式化數(shù)字    269
7.6.7  使用DateFormat格式化日期、
時間    270
7.6.8  使用SimpleDateFormat格式化
日期    272
7.7  本章小結(jié)    273
本章練習(xí)    273
第8章  Java集合    274
8.1  Java集合概述    275
8.2  Collection和Iterator接口    276
8.2.1  使用Iterator接口遍歷集合元素    278
8.2.2  使用foreach循環(huán)遍歷集合元素    280
8.3  Set集合    280
8.3.1  HashSet類    281
hashCode()方法對于HashSet是不是十分重要?    283
8.3.2   LinkedHashSet類    285
8.3.3  TreeSet類    286
8.3.4  EnumSet類    292
8.3.5  各Set實現(xiàn)類的性能分析    293
8.4  List集合    294
8.4.1  List接口和ListIterator接口    294
8.4.2  ArrayList和Vector實現(xiàn)類    297
8.4.3  固定長度的List    298
8.5  Queue集合    298
8.5.1  PriorityQueue實現(xiàn)類    299
8.5.2  Deque接口與ArrayDeque
實現(xiàn)類    300
8.5.3  LinkedList實現(xiàn)類    301
8.5.4  各種線性表的性能分析    302
8.6  Map    303
8.6.1  HashMap和Hashtable實現(xiàn)類    304
8.6.2  LinkedHashMap實現(xiàn)類    308
8.6.3  使用Properties讀寫屬性文件    308
8.6.4  SortedMap接口和TreeMap
實現(xiàn)類    309
8.6.5  WeakHashMap實現(xiàn)類    311
8.6.6  IdentityHashMap實現(xiàn)類    312
8.6.7  EnumMap實現(xiàn)類    313
8.6.8  各Map實現(xiàn)類的性能分析    314
8.7  HashSet和HashMap的性能選項    314
8.8  操作集合的工具類:Collections    315
8.8.1  排序操作    315
8.8.2  查找、替換操作    318
8.8.3  同步控制    319
8.8.4  設(shè)置不可變集合    320
8.9  煩瑣的接口:Enumeration    320
8.10  本章小結(jié)    321
本章練習(xí)    321
第9章  泛型    322
9.1  泛型入門    323
9.1.1  編譯時不檢查類型的異常    323
9.1.2  手動實現(xiàn)編譯時檢查類型    324
9.1.3  使用泛型    324
9.1.4  Java 7泛型的“菱形”語法    325
9.2  深入泛型    326
9.2.1  定義泛型接口、類    326
9.2.2  從泛型類派生子類    328
9.2.3  并不存在泛型類    329
9.3  類型通配符    329
9.3.1  使用類型通配符    331
9.3.2  設(shè)定類型通配符的上限    332
9.3.3  設(shè)定類型形參的上限    333
9.4  泛型方法    334
9.4.1  定義泛型方法    334
9.4.2  泛型方法和類型通配符的區(qū)別    337
9.4.3  Java 7的“菱形”語法與泛型
構(gòu)造器    338
9.4.4  設(shè)定通配符下限    339
9.4.5  泛型方法與方法重載    341
9.5  擦除和轉(zhuǎn)換    341
9.6  泛型與數(shù)組    343
9.7  本章小結(jié)    344
第10章  異常處理    345
10.1  異常概述    346
10.2  異常處理機(jī)制    347
10.2.1  使用try...catch捕獲異常    347
10.2.2  異常類的繼承體系    349
10.2.3  Java 7提供的多異常捕獲    351
10.2.4  訪問異常信息    352
10.2.5  使用finally回收資源    353
10.2.6  異常處理的嵌套    355
10.2.7  Java 7的自動關(guān)閉資源的try
語句    355
10.3  Checked異常和Runtime
異常體系    357
10.3.1  使用throws聲明拋出異常    357
10.4  使用throw拋出異常    359
10.4.1  拋出異常    359
10.4.2  自定義異常類    360
10.4.3  catch和throw同時使用    361
10.4.4  Java 7增強(qiáng)的throw語句    362
10.4.5  異常鏈    363
10.5  Java的異常跟蹤棧    365
10.6  異常處理規(guī)則    366
10.6.1  不要過度使用異常    367
10.6.2  不要使用過于龐大的try塊    368
10.6.3  避免使用Catch All語句    368
10.6.4  不要忽略捕獲到的異常    368
10.7  本章小結(jié)    369
本章練習(xí)    369
第11章  AWT編程    370
11.1  GUI(圖形用戶界面)和AWT    371
11.2  AWT容器    372
11.3  布局管理器    375
11.3.1  FlowLayout布局管理器    375
11.3.2  BorderLayout布局管理器    376
BorderLayout最多只能放置5個組件嗎?那它也太不實用了吧?    377
11.3.3  GridLayout布局管理器    378
11.3.4  GridBagLayout布局管理器    379
11.3.5  CardLayout布局管理器    381
11.3.6  絕對定位    383
11.3.7  BoxLayout布局管理器    384
圖11.15和圖11.16顯示的所有按鈕都緊挨在一起,如果希望像FlowLayout、GridLayout等布局管理器那樣指定組件的間距應(yīng)該怎么辦?   385
11.4  AWT常用組件    386
11.4.1  基本組件    386
11.4.2  對話框(Dialog)    388
11.5  事件處理    390
11.5.1  Java事件模型的流程    390
11.5.2  事件和事件監(jiān)聽器    392
11.5.3  事件適配器    396
11.5.4  使用內(nèi)部類實現(xiàn)監(jiān)聽器    397
11.5.5  使用外部類實現(xiàn)監(jiān)聽器    397
11.5.6  類本身作為事件監(jiān)聽器類    398
11.5.7  匿名內(nèi)部類實現(xiàn)監(jiān)聽器    399
11.6  AWT菜單    399
11.6.1  菜單條、菜單和菜單項    399
11.6.2  右鍵菜單    401
為什么即使我沒有給多行文本域編寫右鍵菜單,但當(dāng)我在多行文本域上單擊右鍵時也一樣會彈出右鍵菜單?   403
11.7  在AWT中繪圖    403
11.7.1  畫圖的實現(xiàn)原理    403
11.7.2  使用Graphics類    404
11.8  處理位圖    408
11.8.1  Image抽象類和BufferedImage
實現(xiàn)類    408
11.8.2  使用ImageIO輸入/輸出位圖    411
11.9  剪貼板    414
11.9.1  數(shù)據(jù)傳遞的類和接口    415
11.9.2  傳遞文本    415
11.9.3  使用系統(tǒng)剪貼板傳遞圖像    417
11.9.4  使用本地剪貼板傳遞對象引用    421
11.9.5  通過系統(tǒng)剪貼板傳遞Java對象    423
11.10  拖放功能    426
11.10.1  拖放目標(biāo)    427
11.10.2  拖放源    429
11.11  本章小結(jié)    431
本章練習(xí)    431
第12章  Swing編程    432
12.1  Swing概述    433
12.2  Swing基本組件的用法    434
12.2.1  Java 7 的Swing組件層次    434
12.2.2  AWT組件的Swing實現(xiàn)    435
為什么單擊Swing多行文本域時不是彈出像AWT多行文本域中的右鍵菜單?    441
12.2.3  為組件設(shè)置邊框    441
12.2.4  Swing組件的雙緩沖和鍵盤驅(qū)動    443
12.2.5  使用JToolBar創(chuàng)建工具條    444
12.2.6  使用JFileChooser和Java 7
增強(qiáng)的JColorChooser    446
12.2.7  使用JOptionPane    454
12.3  Swing中的特殊容器    459
12.3.1  使用JSplitPane    459
12.3.2  使用JTabbedPane    461
12.3.3  使用JLayeredPane、JDesktopPane和
JInternalFrame    464
12.4  Swing簡化的拖放功能    472
12.5  Java 7新增的Swing功能    473
12.5.1  使用JLayer裝飾組件    473
12.5.2  創(chuàng)建透明、不規(guī)則形狀窗口    479
12.6  使用JProgressBar、ProgressMonitor
和BoundedRangeModel
創(chuàng)建進(jìn)度條    481
12.6.1  創(chuàng)建進(jìn)度條    482
12.6.2  創(chuàng)建進(jìn)度對話框    485
12.7  使用JSlider和BoundedRangeModel
創(chuàng)建滑動條    486
12.8  使用JSpinner和SpinnerModel
創(chuàng)建微調(diào)控制器    489
12.9  使用JList、JcomboBox
創(chuàng)建列表框    492
12.9.1  簡單列表框    493
12.9.2  不強(qiáng)制存儲列表項的ListModel和
ComboBoxModel    496
12.9.3  強(qiáng)制存儲列表項的DefaultListModel
和 DefaultComboBoxModel    499
為什么JComboBox提供了添加、刪除列表項的方法?而JList沒有提供添加、刪除列表項的方法呢?   510
12.9.4  使用ListCellRenderer改變列表
項外觀    501
12.10  使用JTree和TreeModel創(chuàng)建樹    503
12.10.1  創(chuàng)建樹    504
12.10.2  拖動、編輯樹節(jié)點    507
12.10.3  監(jiān)聽節(jié)點事件    511
12.10.4  使用DefaultTreeCellRenderer
改變節(jié)點外觀    512
12.10.5  擴(kuò)展DefaultTreeCellRenderer
改變節(jié)點外觀    514
12.10.6  實現(xiàn)TreeCellRenderer改變
節(jié)點外觀    516
12.11  使用JTable和TableModel
創(chuàng)建表格    518
12.11.1  創(chuàng)建表格    518
我們指定的表格數(shù)據(jù)、表格列標(biāo)題都是Object類型的數(shù)組,JTable如何顯示這些Object對象?   519
12.11.2  TableModel和監(jiān)聽器    524
12.11.3  TableColumnModel和監(jiān)聽器    528
12.11.4  實現(xiàn)排序    531
12.11.5  繪制單元格內(nèi)容    534
12.11.6  編輯單元格內(nèi)容    537
12.12  使用JFormattedTextField和
JTextPane創(chuàng)建格式文本    541
12.12.1  監(jiān)聽Document的變化    541
12.12.2  使用JPasswordField    543
12.12.3  使用JFormattedTextField    544
12.12.4  使用JEditorPane    552
12.12.5  使用JTextPane    552
12.13  本章小結(jié)    559
本章練習(xí)    559
第13章  MySQL數(shù)據(jù)庫與JDBC編程    560
13.1  JDBC基礎(chǔ)    561
13.1.1  JDBC簡介    561
13.1.2  JDBC驅(qū)動程序    562
13.2  SQL語法    563
13.2.1  安裝數(shù)據(jù)庫    563
13.2.2  關(guān)系數(shù)據(jù)庫基本概念和MySQL
基本命令    565
13.2.3  SQL語句基礎(chǔ)    567
13.2.4  DDL語句    568
13.2.5  數(shù)據(jù)庫約束    572
13.2.6  索引    579
13.2.7  視圖    579
13.2.8  DML語句語法    580
13.2.9  單表查詢    583
13.2.10  數(shù)據(jù)庫函數(shù)    587
13.2.11  分組和組函數(shù)    589
13.2.12  多表連接查詢    591
13.2.13  子查詢    595
13.2.14  集合運算    596
13.3  JDBC的典型用法    597
13.3.1  JDBC常用接口和類簡介    598
13.3.2  JDBC編程步驟    599
前面給出的僅僅是MySQL和Oracle兩種數(shù)據(jù)庫的驅(qū)動,我看不出驅(qū)動類字符串有什么規(guī)律啊。如果我希望使用其他數(shù)據(jù)庫,那怎么找到其他數(shù)據(jù)庫的驅(qū)動類呢?   600
13.4  執(zhí)行SQL語句的方式    602
13.4.1  使用executeUpdate方法執(zhí)行
DDL和DML語句    602
13.4.2  使用execute方法執(zhí)行
SQL語句    604
13.4.3  使用PreparedStatement執(zhí)行
SQL語句    605
13.4.4  使用CallableStatement調(diào)用
存儲過程    609
13.5  管理結(jié)果集    611
13.5.1  可滾動、可更新的結(jié)果集    611
13.5.2  處理Blob類型數(shù)據(jù)    613
13.5.3  使用ResultSetMetaData
分析結(jié)果集    617
13.6  Java 7的RowSet 1.1    620
13.6.1  Java 7新增的RowSetFactory與RowSet   620
13.6.2  離線RowSet    623
13.6.3  離線RowSet的查詢分頁    624
13.7  事務(wù)處理    625
13.7.1  事務(wù)的概念和MySQL
事務(wù)支持    626
13.7.2  JDBC的事務(wù)支持    627
13.7.3  批量更新    629
13.8  分析數(shù)據(jù)庫信息    630
13.8.1  使用DatabaseMetaData
分析數(shù)據(jù)庫信息    630
13.8.2  使用系統(tǒng)表分析數(shù)據(jù)庫信息    632
13.8.3  選擇合適的分析方式    633
13.9  使用連接池管理連接    633
13.9.1  DBCP數(shù)據(jù)源    634
13.9.2  C3P0數(shù)據(jù)源    634
13.10  本章小結(jié)    635
本章練習(xí)    635
第14章  Annotation(注釋)    636
14.1  基本Annotation    637
14.1.1  限定重寫父類方法:@Override    637
14.1.2  標(biāo)示已過時:@Deprecated    638
14.1.3  抑制編譯器警告:
@SuppressWarnings    639
14.1.4  Java 7的“堆污染”警告與
@SafeVarargs    639
14.2  JDK的元Annotation    640
14.2.1  使用@Retention    640
14.2.2  使用@Target    641
14.2.3  使用@Documented    641
14.2.4  使用@Inherited    642
14.3  自定義Annotation    643
14.3.1  定義Annotation    643
14.3.2  提取Annotation信息    645
14.3.3  使用Annotation的示例    646
14.4  編譯時處理Annotation    650
14.5  本章小結(jié)    654
第15章  輸入/輸出    655
15.1  File類    656
15.1.1  訪問文件和目錄    656
15.1.2  文件過濾器    658
15.2  理解Java的IO流    659
15.2.1  流的分類    659
15.2.2  流的概念模型    660
15.3  字節(jié)流和字符流    661
15.3.1  InputStream和Reader    661
15.3.2  OutputStream和Writer    663
15.4  輸入/輸出流體系    665
15.4.1  處理流的用法    665
15.4.2  輸入/輸出流體系    666
15.4.3  轉(zhuǎn)換流    668
怎么沒有把字符流轉(zhuǎn)換成字節(jié)流的轉(zhuǎn)換流呢?    668
15.4.4  推回輸入流    669
15.5  重定向標(biāo)準(zhǔn)輸入/輸出    671
15.6  Java虛擬機(jī)讀寫其他
進(jìn)程的數(shù)據(jù)    672
15.7  RandomAccessFile    674
15.8  對象序列化    677
15.8.1  序列化的含義和意義    677
15.8.2  使用對象流實現(xiàn)序列化    678
15.8.3  對象引用的序列化    680
15.8.4  自定義序列化    683
15.8.5  另一種自定義序列化機(jī)制    688
15.8.6  版本    690
15.9  NIO    691
15.9.1  Java新IO概述    691
15.9.2  使用Buffer    691
15.9.3  使用Channel    694
15.9.4  字符集和Charset    697
二進(jìn)制序列與字符之間如何對應(yīng)呢?    698
15.9.5  文件鎖    699
15.10  Java 7的NIO.2    701
15.10.1  Path、Paths和Files核心API    701
15.10.2  使用FileVisitor遍歷
文件和目錄    702
15.10.3  使用WatchService監(jiān)控文件
變化    704
15.10.4  訪問文件屬性    705
15.11  本章小結(jié)    706
本章練習(xí)    706
第16章  多線程    707
16.1  線程概述    708
16.1.1  線程和進(jìn)程    708
16.1.2  多線程的優(yōu)勢    709
16.2  線程的創(chuàng)建和啟動    710
16.2.1  繼承Thread類創(chuàng)建線程類    710
16.2.2  實現(xiàn)Runnable接口創(chuàng)建線程類    711
16.2.3  使用Callable和Future
創(chuàng)建線程    713
16.2.4  創(chuàng)建線程的三種方式對比    714
16.3  線程的生命周期    715
16.3.1  新建和就緒狀態(tài)    715
16.3.2  運行和阻塞狀態(tài)    716
16.3.3  線程死亡    717
16.4  控制線程    718
16.4.1  join線程    719
16.4.2  后臺線程    720
16.4.3  線程睡眠:sleep    721
16.4.4  線程讓步:yield    721
16.4.5  改變線程優(yōu)先級    722
16.5  線程同步    724
16.5.1  線程安全問題    724
16.5.2  同步代碼塊    726
16.5.3  同步方法    727
16.5.4  釋放同步監(jiān)視器的鎖定    729
16.5.5  同步鎖(Lock)    730
16.5.6  死鎖    732
16.6  線程通信    733
16.6.1  傳統(tǒng)的線程通信    734
16.6.2  使用Condition控制線程通信    737
16.6.3  使用阻塞隊列(BlockingQueue)
控制線程通信    739
16.7  線程組和未處理的異常    742
16.8  線程池    744
16.8.1  Java 5實現(xiàn)的線程池    745
16.8.2  Java 7新增的ForkJoinPool    746
16.9  線程相關(guān)類    750
16.9.1  ThreadLocal類    750
16.9.2  包裝線程不安全的集合    752
16.9.3  線程安全的集合類    752
16.10  本章小結(jié)    753
第17章  網(wǎng)絡(luò)編程    754
17.1  網(wǎng)絡(luò)編程的基礎(chǔ)知識    755
17.1.1  網(wǎng)絡(luò)基礎(chǔ)知識    755
17.1.2  IP地址和端口號    756
17.2  Java的基本網(wǎng)絡(luò)支持    757
17.2.1  使用InetAddress    757
17.2.2  使用URLDecoder和
URLEncoder    758
17.2.3  使用URL和URLConnection    759
17.3  基于TCP協(xié)議的網(wǎng)絡(luò)編程    765
17.3.1  TCP協(xié)議基礎(chǔ)    765
17.3.2  使用ServerSocket創(chuàng)建TCP
服務(wù)器端    766
17.3.3  使用Socket進(jìn)行通信    767
17.3.4  加入多線程    769
17.3.5  記錄用戶信息    772
17.3.6  半關(guān)閉的Socket    779
17.3.7  使用NIO實現(xiàn)非阻塞
Socket通信    780
17.3.8  使用Java 7的AIO實現(xiàn)
非阻塞通信    786
上面程序中好像沒用到④⑤號代碼的get()方法的返回值,這兩個地方不調(diào)用get()方法行嗎?   789
17.4  基于UDP協(xié)議的網(wǎng)絡(luò)編程    793
17.4.1  UDP協(xié)議基礎(chǔ)    793
17.4.2  使用DatagramSocket發(fā)送、
接收數(shù)據(jù)    793
17.4.3  使用MulticastSocket實現(xiàn)
多點廣播    797
17.5  使用代理服務(wù)器    807
17.5.1  直接使用Proxy創(chuàng)建連接    808
17.5.2  使用ProxySelector自動選擇
代理服務(wù)器    809
17.6  本章小結(jié)    811
本章練習(xí)    811
第18章  類加載機(jī)制與反射    812
18.1  類的加載、連接和初始化    813
 
18.1.1  JVM和類    813
18.1.2  類的加載    814
18.1.3  類的連接    815
18.1.4  類的初始化    815
18.1.5  類初始化的時機(jī)    816
18.2  類加載器    817
18.2.1  類加載器簡介    817
18.2.2  類加載機(jī)制    818
18.2.3  創(chuàng)建并使用自定義的類
加載器    820
18.2.4  URLClassLoader類    823
18.3  通過反射查看類信息    824
18.3.1  獲得Class對象    825
18.3.2  從Class中獲取信息    825
18.4  使用反射生成并操作對象    829
18.4.1  創(chuàng)建對象    829
18.4.2  調(diào)用方法    831
18.4.3  訪問屬性值    833
18.4.4  操作數(shù)組    834
18.5  使用反射生成JDK動態(tài)代理    835
18.5.1  使用Proxy和InvocationHandler
創(chuàng)建動態(tài)代理    835
18.5.2  動態(tài)代理和AOP    837
18.6  反射和泛型    841
18.6.1  泛型和Class類    841
18.6.2  使用反射來獲取泛型信息    843
18.7  本章小結(jié)    844
本章練習(xí)    844

本目錄推薦

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