书籍详情

Java高级编程(第2版)

Java高级编程(第2版)

作者:(美)斯贝尔

出版社:清华大学出版社

出版时间:2006-11-01

ISBN:9787302139096

定价:¥69.80

购买这本书可以去
内容简介
  既然市面上已经有众多Java相关书籍,那么再写本书的意义何在呢?首先,Java这一概念非常宽泛,其中仍有不少领域没有详细的介绍,甚至有些领域正是Java程序员们常需要使用的。另外,大型Java程序的开发需要通晓Java的各个不同方面,本书正是要起到这样的帮助作用。本书各章都有一个共同的特点,即每章都代表专业Java开发人员需要掌握的一项技术。虽然部分章节内容是J2SE(Java 2 Standard Edition)的传统技术,但J2EE(Java 2 Enterprise Edition)和Web应用程序开发的绝大部分技术都是相通的。本书不要求读者具备大量Java知识,但同样不适合无编程基础的读者。软件开发的背景知识和面向对象编程概念的基本认识有助于阅读本书。另外,由于部分技术主题涉及的内容较广,因此本书不适合作为这些主题的权威参考。有些内容相当复杂,如XML、线程和数据库编程,难以在一章内介绍完全,不过仍将为这些主题提供相当丰富的信息,足以进行这方面程序的高效开发。另外,本书介绍的部分功能是Java 1.5(也称Java 5)中新引入的,因此早期Java版本可能无法使用这些功能。不过本书将尽量标识出Java 5新版本中的特定功能,如果早期版本中无法使用这些功能,希望您不会因此感到惊讶或失望。
作者简介
  本书提供作译者介绍Brett Spell,一名受人尊敬的畅销书作家,从90年代起就开始从事专业Java开发,是一名通过Sun认证的知名开发人员和架构师。Brett还是Java开发领域中久负盛名的专业杂志Java Pro的定期撰稿人和Intel Developer Services网站的专栏作家。
目录
第1章 Java深入介绍    1
1.1 Java体系结构    1
1.2 Java虚拟机    3
1.2.1  JVM的不同实现    4
1.2.2 JVM作为运行时执行环境    4
1.2.3  JVM运行时数据区    5
1.2.4 垃圾收集器    7
1.2.5 JVM:加载、链接和初始化    7
1.2.6 执行字节码    9
1.3 Java类文件格式    11
1.4 Java编程语言与API    13
1.4.1 Java编程语言    13
1.4.2  Java API    13
1.5 JVM配套的Java实用工具    14
1.5.1 Java编译器    14
1.5.2 Java解释器    15
1.5.3 Java类反汇编程序    16
1.6 小结    16
第2章 库、类和方法的设计    19
2.1 库的设计    19
2.2 类的设计    20
2.2.1 松耦合    21
2.2.2 强聚合    35
2.2.3 封装    38
2.2.4 不变对象与不变字段    41
2.2.5 重写对象方法    42
2.3 方法设计    48
2.3.1 参数传递    49
2.3.2 方法命名    52
2.3.3 最小化代码重复    53
2.3.4 变量参数    55
2.3.5 使用异常    57
2.3.6 断言    75
2.3.7 枚举    77
2.4 小结    79
第3章 在应用程序中使用线程    81
3.1 Java线程    81
3.2 创建线程    83
3.3 使用线程的缺点    85
3.3.1 初始启动变慢    85
3.3.2 资源利用    85
3.3.3 复杂性增加    85
3.4 线程管理    87
3.5 共享资源的使用同步    91
3.5.1 同步方法和同步代码块的嵌套调用    94
3.5.2 同步代码块与同步方法    94
3.5.3 死锁    95
3.6 线程优先级    98
3.7 监控程序线程    99
3.8 在应用程序中加入线程    101
3.9 线程控制    109
3.9.1 线程启动    111
3.9.2 线程休眠    112
3.9.3 线程挂起    116
3.9.4 线程恢复    119
3.9.5 线程停止    120
3.9.6 线程中断    121
3.10 完成DownloadManager    123
3.11 线程中的过时方法    126
3.12 DownloadFiles类    127
3.13 未捕捉的异常    132
3.14 自愿放弃处理器    133
3.15 并发工具    135
3.16 小结    136
第4章 集合    137
4.1 集合演变    139
4.1.1 Java 2/Java 1.2    139
4.1.2 Java 5/Java 1.5    140
4.2 集合类与接口    140
4.2.1 Collection接口    141
4.2.2 List    145
4.2.3 ListIterator    148
4.2.4 ArrayList    149
4.2.5 LinkedList    150
4.2.6 Vector    151
4.2.7 Stack    151
4.2.8 Set    152
4.2.9 HashSet    155
4.2.10 构造函数    155
4.2.11 LinkedHashSet    155
4.2.12 TreeSet    155
4.2.13 EnumSet    159
4.2.14 Map    160
4.2.15 HashMap    162
4.2.16 LinkedHashMap    163
4.2.17 TreeMap    163
4.2.18 EnumMap    163
4.2.19 IdentityHashMap    163
4.2.20 WeakHashMap    164
4.2.21 ConcurrentHashMap    165
4.2.22 Queue    165
4.2.23 PriorityQueue    166
4.2.24 PriorityBlockingQueue    166
4.2.25 ArrayBlockingQueue    166
4.2.26 LinkedBlockingQueue    166
4.2.27 ConcurrentLinkedQueue    167
4.2.28 SynchronousQueue    167
4.2.29 DelayQueue    167
4.3 集合使用技巧    168
4.3.1 浅副本和深副本    169
4.3.2 引用接口代替引用实现    169
4.4 小结    170
第5章 布局管理器    171
5.1 布局管理器与GUI构造    171
5.2 CardLayout    173
5.2.1 构造CardLayout    173
5.2.2 子组件尺寸    174
5.2.3 子组件位置    174
5.2.4 尺寸调整    175
5.2.5 容器尺寸    175
5.3  FlowLayout    175
5.3.1 构造FlowLayout    175
5.3.2 约束    175
5.3.3 子组件尺寸    176
5.3.4 子组件位置    176
5.3.5 尺寸调整    178
5.3.6 容器尺寸    178
5.4 GridLayout    179
5.4.1 构造GridLayout    180
5.4.2 约束    182
5.4.3 子组件尺寸    182
5.4.4 子组件位置    182
5.4.5 尺寸调整    183
5.4.6 容器尺寸    183
5.5 BorderLayout    183
5.5.1 构造BorderLayout    185
5.5.2 约束    185
5.5.3 子组件尺寸    185
5.5.4 子组件位置    186
5.5.5 尺寸调整    186
5.5.6 容器尺寸    187
5.6 GridBagLayout    187
5.6.1 构造GridBagLayout    190
5.6.2 约束    190
5.6.3 子组件尺寸    210
5.6.4 子组件位置    211
5.6.5 尺寸变化    211
5.6.6 容器尺寸    212
5.7 BoxLayout    212
5.7.1 对齐值、上升和下降    212
5.7.2 构造BoxLayout    216
5.7.3 约束    216
5.7.4 子组件尺寸    216
5.7.5 子组件位置    218
5.7.6 尺寸缩放    218
5.7.7 容器尺寸    219
5.7.8 Swing中的Box类    219
5.8 布局管理器的使用准则    222
5.8.1 组合使用布局管理器    222
5.8.2 不使用布局管理器的绝对定位    224
5.8.3 不可见组件    224
5.8.4 添加组件时指定索引    225
5.9 创建自定义布局管理器    227
5.9.1 LayoutManager2接口方法    228
5.9.2 LayoutManager方法    230
5.9.3 使用自定义布局管理器    234
5.10 小结    235
第6章  使用Swing的JTable组件    237
6.1  数据模型    238
6.2  使用含有JTable组件的JScrollPane类    242
6.3  JTable组件的面向列设计    245
6.4  调整表格尺寸    245
6.5  调整列的尺寸    246
6.5.1  AUTO_RESIZE_OFF    246
6.5.2  AUTO_RESIZE_NEXT_COLUMN    246
6.5.3  AUTO_RESIZE_SUBSEQUENT_COLUMNS    247
6.5.4  AUTO_RESIZE_LAST_COLUMN    247
6.5.5  AUTO_RESIZE_ALL_COLUMNS    248
6.6  单元格绘制    248
6.6.1  创建定制的绘制器    249
6.6.2  JTable组件的默认绘制器    253
6.7  编辑表格单元格    255
6.8  表格选项设置    261
6.8.1  行、列、以及单元格选项模式的结合    262
6.8.2  列表选项模式    262
6.8.3  选项模式的结合    263
6.8.4  用编程方式设置选项    266
6.9  表格的标题    267
6.9.1  绘制标题    267
6.9.2  工具提示及绘制器的重新使用    269
6.9.3  JTableHeader    270
6.9.4  创建行标题    275
6.10  对表格按行进行排序    279
6.10.1  对列选项进行动态排序    281
6.10.2  使用比较    285
6.11  添加和删除表格行    287
6.12  显示特定的表格行    289
6.13  小结    290
第7章  使用Swing的JTree组件    291
7.1  JTree术语简介    292
7.2  创建JTree实例    293
7.2.1  TreeModel    296
7.2.2  创建树节点    297
7.3  TreePath类    309
7.4  TreeModelListener接口    311
7.4.1  treeNodesChanged()方法    311
7.4.2  treeNodesInserted()方法    311
7.4.3  treeNodesRemoved()方法    311
7.4.4  treeStructureChanged()方法    311
7.5  TreeModelEvent类    311
7.5.1  getTreePath()和getPath()方法    312
7.5.2  getChildren()方法    312
7.5.3  getChildIndices()方法    312
7.6  DefaultTreeModel类    312
7.7  绘制树节点    314
7.8  编辑树的节点    320
7.8.1  DefaultTreeCellEditor和DefaultCellEditor类    323
7.8.2  创建自定义编辑器    324
7.8.3  限制编辑某些节点    326
7.9  定制分支节点句柄    327
7.10  线型与Java或Metal 外观    328
7.11  节点选择    330
7.11.1  选择方式    330
7.11.2  TreeSelectionListener类    332
7.11.3  TreeSelectionEvent    333
7.11.4  JTree中的选择方法    333
7.12  折叠和展开节点    335
7.13  小结    338
第8章  添加剪切和粘贴功能    350
8.1  剪贴板:剪切和复制数据的存储位置    340
8.1.1  系统剪贴板    340
8.1.2  剪贴板    341
8.1.3  Transferable    341
8.1.4  ClipboardOwner实现    342
8.1.5  DataFlavor的使用    343
8.2  存取与检索串行化的Java对象    345
8.3  在Java程序和本地应用程序之间传输数据    357
8.4  编写任意的二进制数据    357
8.5  小结    362
第9章  添加拖放功能    363
9.1  拖放操作的类型    363
9.2  预定义光标    364
9.3  从本地应用程序执行文件选择释放    365
9.3.1  添加对释放操作的支持    365
9.3.2  添加对拖动操作的支持    374
9.4  执行本地传输    385
9.4.1  本地对象DataFlavor的概念    386
9.4.2  处理引用传输    387
9.5  执行链接/引用操作    389
9.6  在Java程序和本地应用程序之间传输    390
9.7  传输文本数据    392
9.7.1  在Java程序和本地应用程序之间传输文本数据    392
9.7.2  为文本数据创建一个新的Transferable    394
9.8  小结    396
第10章  打印    397
10.1  定位打印服务    398
10.1.1  DocFlavor    399
10.1.2  选择正确的打印机    401
10.1.3  AttributeSet    402
10.1.4  Attribute类    402
10.1.5  Attribute Roles    403
10.1.6  接口和实现    403
10.1.7  用户界面的打印机选择    406
10.2  创建打印任务    407
10.3  定义打印文档    407
10.4  初始化打印    408
10.5  监控打印任务    408
10.5.1  监控属性变化    409
10.5.2  取消打印任务    410
10.6  Service-Formatted打印的概念    411
10.6.1  支持类    412
10.6.2  打印应用程序示例    416
10.7  小结    422
第11章  JDBC介绍    423
11.1  SQL标准和JDBC版本    424
11.2  JDBC驱动器    425
11.3  获得数据库连接    428
11.3.1  JDBC的URL格式    428
11.3.2  连接    429
11.3.3  通过数据源获得连接(2.x选择包)    429
11.3.4  DatabaseMetaData接口    432
11.4  Statement    440
11.4.1  executeUpdata()方法    441
11.4.2  executeQuery()方法    441
11.4.3  execute()方法    441
11.4.4  addBatch()和executeBatch()方法    442
11.4.5  PreparedStatement类    442
11.4.6  CallableStatement    445
11.4.7  ParameterMetaData类    446
11.5  JDBC数据类型    447
11.5.1  ARRAY    448
11.5.2  BLOB、CLOB    449
11.5.3  DATALINK    449
11.5.4  DATE、TIME、TIMESTAMP    450
11.5.5  DISTINCT    450
11.5.6  STRUCT    450
11.5.7  REF    451
11.5.8  JAVA_OBJECT    451
11.5.9  OTHER    451
11.6  ResultSet类    451
11.6.1  单向前与滚动(滚动类型)    452
11.6.2  只读与可更新(并发模式)    452
11.6.3  更新敏感性    452
11.6.4  Holdability    453
11.6.5  选择ResultSet属性    453
11.6.6  使用ResultSet    454
11.7  ResultSetMetaData    458
11.8  RowSet    459
11.9  事务    460
11.9.1  保存点    463
11.9.2  只读事务    464
11.9.3  分布式事务    466
11.10  连接池    466
11.11  错误和警告    468
11.11.1  SQLException    468
11.11.2  SQLWarning    471
11.12  调试功能    472
11.13  释放资源    473
11.14  小结    473
第12章  应用程序国际化    475
12.1  地区    476
12.2  资源绑定    477
12.3  区分地区格式与分析    483
12.3.1  日期的格式化和分析    484
12.3.2  时间的格式化及分析    486
12.3.3  数值的格式化及分析    487
12.4  MessageFormat    489
12.4.1  指定地区    491
12.4.2  指定格式化对象    492
12.5  ChoiceFormat    493
12.6  分析文本数据    495
12.7  文本比较与排序    501
12.7.1  Collator强度    502
12.7.2  分解模式    503
12.8  应用程序国际化    504
12.9  运行时修改Locale选项    515
12.10  native2ascii    522
12.11  小结    523
第13章  XML的使用    525
13.1  XML与HTML    526
13.1.1  描述数据    527
13.1.2  形式合理的文档    528
13.2  何时及为何使用XML    531
13.3  创建XML文档    532
13.3.1  root元素    533
13.3.2  XML文档的组成部分    534
13.4  分析及有效性    535
13.4.1  使用JAXP中的DOM实现进行分析    535
13.4.2  全面研究DOM文档    550
13.4.3  编辑DOM文档    555
13.5  转换XML文档    561
13.6  小结    569
第14章  添加注解    571
14.1  注解的使用    572
14.1.1  重写    574
14.1.2  SuppressWarnings注解    575
14.2  创建定制注解    579
14.2.1  Target注解    581
14.2.2  Retention注解    582
14.2.3  Documented注解    584
14.2.4  Inherited注解    585
14.3  替换外部元数据    587
14.4  注解处理工具的使用    590
14.4.1  AnnotationProcessorFactory接口    590
14.4.2  Declaration接口    593
14.4.3  产生 Side文件    595
14.5  小结    597
猜您喜欢

读书导航