欢迎光临本店     登录 注册   加入收藏
  •   
欢迎光临清华大学出版社第三事业部!

此页面上的内容需要较新版本的 Adobe Flash Player。

获取 Adobe Flash Player

当前位置: 首页 > 科技 > 计算机与网络 > 程序语言与软件开发 > 精通Java开发技术:由浅入深领会高效开发之道

浏览历史

精通Java开发技术:由浅入深领会高效开发之道

精通Java开发技术:由浅入深领会高效开发之道

prev next

  • 商品货号:2014051310
  • 商品重量:0克
    作者:陈强编著
    出版社:清华大学出版社
    图书书号/ISBN:9787302311874
    出版日期:2013年2月第1次印刷
    开本:16
    图书页数:610
    图书装订:平装
    图书规格:185mm×260mm
    版次:2013年2月第1版
    印张:38.75
    字数:939千字
  • 上架时间:2014-05-13
    商品点击数:895
  • 定价:¥75.00元
    本店售价:¥75.00元
    注册用户:¥75.00元
    vip:¥71.25元
    黄金等级:¥67.50元
    用户评价: comment rank 5
  • 商品总价:
  • 购买数量:

内容简介:

商品附加资源

 

内 容 简 介
本书内容新颖、知识全面、讲解详细,可帮助读者通过学习精通Java开发技术,由浅入深地领会高效开发之道。
本书共分17章,内容都采用了理论加实践的教学方法,每个实例先提出制作思路及包含的知识点,力求用最通俗的语言将高深的知识阐述出来。本书适合Java各个级别的程序员、研发人员及在职程序员使用,也可以作为相关培训学校和大专院校相关专业的教学用书。
 

前    言
  自从Java语言诞生以来,经过十多年的发展和应用,已经成为当今最流行的编程语言之一。在一项权威的编程语言排行榜中,Java始终居于第一位。现在全球已有超过15亿台手机和手持设备应用了Java技术。同时,Java平台因其跨平台特性和良好的可移植性,已成为广大软件开发技术人员的挚爱,是全球程序员的首选开发平台之一。
  日益成熟的Java语言编程技术目前已经无处不在,使用该编程技术可以进行桌面程序、Web应用、分布式系统和嵌入式系统应用的开发,并且在信息技术等各个领域中得到了广泛的应用。
  本书全面地介绍了Java语言的基础知识,通过实例展示了Java语言的编程技术和开发过程。关于Java的技术很多,只有学好基础的编程知识,在深入学习高级技术时才能得心应手,快学快用。
  1.本书内容
  本书内容相当丰富,实例覆盖全面,可满足Java程序员成长道路上方方面面的需求。我们的目标是通过一本图书提供多本图书的价值,读者可以根据自己的需要有选择地阅读,以完善自己的知识和技能结构。
  全书共分17章,具体安排如下:第1章讲解了Java语言初体验的基本知识,第2章讲解了探索Java敏捷学习之道的基本知识,第3章讲解了速成Java基本语法的知识,第4章讲解了同时学习类和方法可以提高效率的基本知识,第5章讲解了深入理解Java面向对象的基本知识,第6章深入分析了集合的基本知识,第7章讲解了使用类库提高开发效率的基本知识,第8章讲解了泛型的基本知识,第9章讲解了异常处理的基本知识,第10章讲解了使用I/O系统处理文件的基本知识,第11章讲解了快速体验AWT的基本知识,第12章讲解了由浅入深体验Swing的基本知识,第13章讲解了数据库编程的基本知识,第14章讲解了网络与通信编程的基本知识,第15章讲解了多线程的基本知识,第16章讲解了快速开发Web项目的知识,介绍了开发综合供求信息平台的实现过程;第17章讲解了如何敏捷开发桌面项目,介绍了为小区开发物业管理系统的实现过程。
2. 本书特色
  在编写方面,本书具有以下特色。
  (1) 专家写作,内容专业而深入
  本书是国内一线著名的Java专家级作者的力作。为了确保知识的广度和深度,本书并没有将大量篇幅用在规范和基本语法上,而是专注于各个基本知识的具体细节,尽量涉及每个知识点中最为重要的内容,并且讨论了相关的高级用法技术。
  本书既是介绍性书籍,又是深入研究的技术性书籍,实现了高级技术与介绍性知识并重的效果。为了达到这一目的,作者做过大量的研究。比如参与论坛讨论、开发大量的实际项目、参加学术会议和研讨会,同时跟制定Java规范的专家组进行沟通,同全世界顶级专家进行合作。
  
(2) 结构合理
  本书从用户的实际需要出发,科学地安排知识结构,内容由浅入深,叙述清楚,具有很强的知识性和实用性,反映了Java语言的核心知识。同时,本书精心筛选了最具代表性、读者最关心的典型知识点,几乎包括了Java技术的各个方面。
  (3) 易学易懂
  本书条理清晰、语言简洁,可帮助读者快速掌握每个知识点;各个部分既相互联系又自成体系,使读者既可以按照本书编排的章节顺序进行学习,也可以根据自己的需求对某一章节进行有针对性的学习。
  (4) 由浅入深
  本书从Java语言的发展、开发环境及基本语法知识入手,逐步介绍了Java的基本概念、面向对象基础、图形界面程序的开发、网络程序开发及数据库应用程序的开发,使读者即使没有任何编程基础也能够很快地掌握Java语言编程的各种技术。
  (5) 技术全面
  本书从Java的基本概念入手,拓展到Swing、异常、线程、网络编程、数据库编程等高级技术,以及对面向对象程序设计的主要原理和方法的介绍,可以让读者学得更充实。
  (6) 实用性强
  本书彻底摒弃了枯燥的理论和简单的操作,注重实用性和可操作性,详细讲解了各个部分的源码知识,使读者在掌握相关操作技能的同时,还能学习到相应的基础知识。
3.致读者
  因为本书篇幅有限,所以实例中有些代码不能在书中一一列出,给广大读者带来了不便,为此我们表示歉意。读者在阅读本书时,建议参考本书附带光盘中的源代码。
4. 读者对象
  本书的读者对象主要包括下列群体:
   ( 初学编程的自学者       ( 编程爱好者
   ( 大中专院校的教师和学生     ( 相关培训机构的教师和学员
   ( 搞毕业设计的学生       ( 初、中级程序开发人员
   ( 程序测试人员及维护人员     ( 参加实习的初级程序员
   ( 在职程序员        ( 资深程序员
  
  在编写本书的过程中,得到了清华大学出版社工作人员的大力支持,在此表示感谢。
  由于作者的知识水平有限,书中疏漏和不尽如人意之处在所难免,恳请读者提出宝贵的意见或建议,以便再版时修订并使之更臻完善。另外,为方便读者学习,特开通了技术支持QQ群,群号为75593028,欢迎读者加入。
  
  
  编  者 

  目    录

第1章  Java语言初体验 1
1.1  学习Java的优势 2
1.1.1  排名第一的编程语言 2
1.1.2  良好的就业前景 2
1.2  学习Java需要了解的那些事 3
1.2.1  Java语言的发展历史 3
1.2.2  Java的特点 4
1.2.3  Java的平台无关性 5
1.3  Java的运行机制 6
1.3.1  高级语言的运行机制 6
1.3.2  Java的运行机制 7
1.3.3  Java虚拟机——JVM 8
1.4  开发前的准备 9
1.4.1  安装JDK 9
1.4.2  设置环境变量 13
1.4.3  JRE和JDK是有区别的 14
1.4.4  困扰初学者的环境变量问题 14
1.5  体验第一个Java程序 15
1.5.1  编辑Java源代码 15
1.5.2  编译Java程序 16
1.5.3  运行Java程序 17
1.5.4  分析Java程序的运行过程 17
1.6  初学者应该明白的几个问题 18
1.6.1  独特的垃圾回收机制 18
1.6.2  对学习者的几条建议 19
第2章  探索Java敏捷学习之道 21
2.1  究竟要学习什么 22
2.2  学习编程的正确观念 22
2.3  将面向对象贯穿全书 23
2.3.1  什么是面向对象 23
2.3.2  面向对象的几个基本特性 24
2.3.3  Java的面向对象 24
2.3.4  Java的面向对象特性 25
2.4  初学者应该注意的问题 26
2.4.1  需要遵循源文件命名规则 26
2.4.2  不要忽视系统文件的扩展名 26
2.4.3  时刻注意大小写的问题 27
2.4.4  必须有main()方法 27
2.4.5  注意空格带来的麻烦 27
2.5  使用Java IDE工具能事半功倍 28
2.5.1  到底用不用IDE工具 28
2.5.2  最受欢迎的工具——Eclipse 28
2.5.3  Sun公司推出的工具——
NetBeans 34
2.5.4  一度很“火”的商业工具——
JBuilder 35
第3章  速成Java的基本语法 37
3.1  快速学习语法的秘诀 38
3.2  变量和常量 38
3.2.1  不可变的量叫常量 39
3.2.2  定义常量时的注意事项 40
3.2.3  可以变化的量叫变量 40
3.3  数据类型一通则百通 42
3.3.1  简单数据类型值的范围 42
3.3.2  字符型 43
3.3.3  整型 44
3.3.4  浮点型 44
3.3.5  布尔型 45
3.4  if语句 46
3.4.1  简单if语句 46
3.4.2  通过if语句的延伸用法体验
if-else语句的意义 47
3.4.3  if语句可以有多个条件判断 48
3.5  switch语句 49
3.5.1  switch语句的基本用法 49
3.5.2  使用switch语句时应该注意的
事项 49
3.5.3  如果没有break 50
3.5.4  如果case没有执行语句 50
3.5.5  如果default不在末尾 51
3.6  需要正确使用条件语句 51
3.6.1  参数case和参数switch的值
要相等 51
3.6.2  在使用if语句时要按照逻辑
顺序编码 52
3.6.3  理解switch语句的执行顺序 52
3.7  循环语句 53
3.7.1  for循环 53
3.7.2  有多个表达式的for循环 54
3.7.3  for语句可以嵌套 55
3.7.4  while循环语句 56
3.7.5  可以联合使用if语句
和while循环 57
3.7.6  do-while循环语句 57
3.7.7  不要忘记分号 58
3.8  跳转语句 58
3.8.1  使用break语句 58
3.8.2  使用return语句返回一个值 59
3.8.3  使用continue语句实现跳转 60
3.9  一维数组 60
3.9.1  声明一维数组 60
3.9.2  创建一维数组 61
3.9.3  一维数组的初始化 62
3.10  二维数组 63
3.10.1  声明二维数组 63
3.10.2  创建二维数组 63
3.10.3  二维数组的初始化 64
3.11  三维数组 65
3.11.1  声明三维数组 65
3.11.2  三维数组的初始化 65
3.12  复制数组中的数据 66
3.13  比较两个数组中的数据 67
3.14  搜索数组中的元素 68
3.15  排序数组 68
3.16  深入理解数组 69
3.16.1  可以任意伸缩数组长度的
 动态数组 69
3.16.2  foreach循环 70
3.17  初学者应该明白的几个问题 71
3.17.1  char中的单引号和int的
 提升处理 71
3.17.2  正无穷和负无穷的问题 72
3.17.3  double型和float型之间的
 处理 72
3.17.4  何时使用switch语句,何时
 使用if…else if语句 72
3.17.5  使用for循环的技巧 73
3.17.6  可以在嵌套语句中使用
 break语句 73
3.17.7  设置有意义的标号 75
3.17.8  通过区别来决定怎样选择
 跳转语句 76
3.17.9  理解Java数组的内部机制 77
3.17.10  数组必须初始化 78
3.17.11  Java中的两种引用类型 79
3.17.12  向数组中填充数据 79
3.17.13  在使用foreach操作数组时
  不建议对循环变量进行
  赋值 81
3.17.14  定义常量时的注意事项 82
3.17.15  移位运算符的限制 83
3.17.16  扩展赋值运算符 83
3.17.17  switch语句和if…else if
  语句的选择 84
第4章  同时学习类和方法 87
4.1  类中的相关定义 88
4.1.1  理解类的意义 88
4.1.2  定义类 88
4.1.3  定义属性 89
4.1.4  定义方法 89
4.1.5  定义构造器 90
4.1.6  Java的修饰符 90
4.2  Java方法 91
4.2.1  传递方法参数 91
4.2.2  可以定义形参长度可变的
参数 92
4.2.3  构造方法和递归方法 93
4.3  this关键字 95
4.4  类和对象 96
4.4.1  创建和使用对象 96
4.4.2  使用静态变量和静态方法 97
4.5  抽象类和抽象方法 97
4.5.1  为什么推出抽象方法 97
4.5.2  了解抽象类和抽象方法 98
4.5.3  抽象类必须有一个抽象
方法 100
4.6  使用软件包 101
4.6.1  定义软件包 101
4.6.2  在Eclipse中定义软件包 102
4.6.3  在程序里插入软件包 104
4.7  继承 105
4.7.1  父类和子类 105
4.7.2  对父类的操作 106
4.7.3  重写方法的两点注意事项 108
4.8  重写和重载 108
4.8.1  重写 108
4.8.2  重载 109
4.8.3  重写和重载的区别 110
4.9  隐藏和封装 110
4.9.1  Java中的封装 111
4.9.2  使用访问控制符 111
4.9.3  解决重名问题的包 113
4.9.4  import 115
4.10  初学者应该明白的几个问题 116
4.10.1  方法的所属性问题 116
4.10.2  探讨Java传递引用类型的
 实质 117
4.10.3  体会使用this关键字的
 好处 118
4.10.4  体会抽象类的作用 119
4.10.5  通过一个错误程序体会包的
 作用 121
4.10.6  掌握使用包的一些规则 122
4.10.7  探讨package和import的
 机制 122
第5章  深入理解Java的面向对象 125
5.1  接口 126
5.1.1  需要理解Java接口编程的
机理 126
5.1.2  定义接口 127
5.1.3  接口里的量和方法 127
5.1.4  实现接口 128
5.1.5  引用接口 128
5.1.6  接口的继承 129
5.2  特殊的方法——构造器 129
5.2.1  初始化构造器 130
5.2.2  构造器重载 130
5.2.3  this在构造器中的妙用 131
5.2.4  调用父类构造器 131
5.2.5  子类构造器调用父类构造器的
几种情况 131
5.3  多态 132
5.3.1  何谓多态 132
5.3.2  演示Java中的多态 134
5.3.3  Java多态的核心 135
5.4  引用类型 135
5.4.1  四种引用类型 135
5.4.2  instanceof运算符 138
5.4.3  强制类型转换不是万能的 139
5.5  选择继承还是组合 141
5.6  包装类 144
5.7  用final修饰基本类型和引用类型
变量的区别 145
5.7.1  用final修饰变量 145
5.7.2  使用final修饰方法 147
5.8  内部类 148
5.8.1  为什么需要内部类 148
5.8.2  非静态内部类 149
5.8.3  成员内部类 151
5.8.4  局部内部类 152
5.8.5  静态内部类 153
5.8.6  匿名内部类 154
5.8.7  对内部类的总结 157
5.9  枚举类 161
5.9.1  手动实现枚举类的缺点 161
5.9.2  枚举类型 163
5.9.3  接口和抽象类 165
5.10  初学者应该明白的几个问题 166
5.10.1  区分构造器和方法 166
5.10.2  使用instanceof运算符时要
 避免编译错误 167
5.10.3  分析Java中的自动装箱
 和自动拆箱 168
5.10.4  Java类的几种权限 169
5.10.5  使用this限定类的属性 169
5.10.6  在匿名类和内部类中使用
??this 170
5.10.7  枚举类常用的几个方法 171
第6章  集合 173
6.1  Java集合概述 174
6.2  学习Collection和Iterator的诀窍 175
6.2.1  基础知识介绍 175
6.2.2  改变Collection集合元素的
问题 177
6.3  挖掘Set接口的妙用 178
6.3.1  基础知识介绍 178
6.3.2  使用HashSet 181
6.3.3  HashSet深入 183
6.4  深入List接口 183
6.4.1  基本知识介绍 183
6.4.2  使用List接口和ListIterator
接口 185
6.4.3  使用ArrayList和Vector类 186
6.4.4  ArrayList和Vector的区别 187
6.5  Map接口的深入浅出 187
6.5.1  使用HashMap和Hashtable
实现类 188
6.5.2  使用SortedMap接口和TreeMap
类实现排序处理 190
6.5.3  使用WeakHashMap类 192
6.5.4  使用IdentityHashMap类 193
6.5.5  使用EnumMap类 194
6.5.6  分析几种Map类的性能 195
6.6  模拟队列数据结构的Queue接口 195
6.6.1  常用的方法 196
6.6.2  List接口的实现类——
LinkedList 196
6.6.3  处理优先级的
PriorityQueue类 197
6.7  集合工具类Collections 198
6.7.1  排序操作 198
6.7.2  使用swap()方法交换集合中
两个位置的内容 199
6.7.3  查找和替换 199
6.8  初学者应该明白的几个问题 201
6.8.1  总结Java中处理排序的
问题 201
6.8.2  使用EnumSet类的注意
事项 206
6.8.3  体会List中的额外方法 206
6.8.4  HashMap和Hashtable之间的
选择 207
6.8.5  TreeMap判断两个元素是否
相等的标准 207
6.8.6  体验数组的优良性能 207
6.8.7  LinkedList、ArrayList、Vector
性能问题的研究 208
第7章  使用类库提高开发效率 211
7.1  StringBuffer类 212
7.1.1  StringBuffer类基础 212
7.1.2  使用StringBuffer类 212
7.1.3  StringBuffer和String选择的
异同 213
7.2  运行时操作类Runtime 213
7.3  实现Java程序国际化 215
7.3.1  Java实现国际化的方案 215
7.3.2  表示国家语言的类——
Locale 215
7.3.3  ResourceBundle类 216
7.3.4  处理动态文本 217
7.3.5  使用类代替资源文件 219
7.4  系统类System 220
7.4.1  System类基础 220
7.4.2  垃圾对象的回收 221
7.5  日期操作类——Date 222
7.5.1  使用Date类 222
7.5.2  使用Calendar类获取当前
时间 222
7.5.3  使用DateFormat类设置
日期的格式 224
7.5.4  使用SimpleDateFormat类 225
7.6  使用Math类实现数学运算 226
7.7  使用Random类生成随机数 226
7.8  数字格式化类——NumberFormat 227
7.9  使用Arrays类操作数组 228
7.10  Comparable接口 229
7.10.1  Comparable接口基础 229
7.10.2  使用Comparable接口 229
7.10.3  使用Comparator接口 230
7.11  使用Observable类和Observer接口
 实现观察者模式 232
7.12  正则表达式 233
7.12.1  正则表达式是一种可以用于
 模式匹配和替换的规范 233
7.12.2  String类和正则表达式 235
7.13  线程类Timer和TimerTask 236
7.14  初学者应该明白的几个问题 237
7.14.1  了解Java的内存管理
 机制 237
7.14.2  传递可变参数 239
7.14.3  通过System类获取本机的
 全部环境属性 240
7.14.4  把一个日期变为指定格式 241
7.14.5  在Math类中也有一个
??random()方法 241
7.14.6  如果没有实现Comparable
??接口会出现异常 242
7.14.7  体验正则表达式的好处 243
第8章  泛型 245
8.1  泛型基础 246
8.1.1  使用泛型的好处 246
8.1.2  检查类型 246
8.1.3  使用泛型 248
8.2  深入泛型 249
8.2.1  定义泛型接口和类 249
8.2.2  派生子类 250
8.2.3  并不存在泛型类 251
8.3  类型通配符 252
8.3.1  设置类型通配符的上限 253
8.3.2  设置类型形参的上限 255
8.4  泛型方法 256
8.4.1  定义泛型方法 256
8.4.2  设置通配符下限 259
8.5  泛型接口 260
8.6  泛型继承 262
8.6.1  以泛型类为父类 262
8.6.2  以非泛型类为父类 263
8.7  运行时类型识别 264
8.8  强制类型转换 265
8.9  擦除 266
8.9.1  擦除基础 266
8.9.2  需要避免擦除带来的错误 269
8.10  初学者应该明白的几个问题 270
8.10.1  使用泛型应该遵循的原则
 和注意的问题 270
8.10.2  分析Java语言中泛型的
 本质 271
8.10.3  体验泛型方法和类型
 通配符的区别 271
8.10.4  重温泛型类的继承规则 272
8.10.5  挖掘类型擦除和泛型特性的
 联系 273
第9章  异常处理 275
9.1  什么是异常 276
9.1.1  认识异常 276
9.1.2  Java的异常处理机制 276
9.1.3  Java为我们提供了异常
处理类 279
9.2  处理异常的方式 280
9.2.1  使用try-catch来处理异常 280
9.2.2  处理多个异常 281
9.2.3  使用finally关键字处理
异常 281
9.2.4  访问异常信息 283
9.3  抛出异常 284
9.3.1  使用throws抛出异常 284
9.3.2  使用throw抛出异常 286
9.3.3  区别throws关键字和throw
关键字 287
9.4  自定义异常 287
9.4.1  Throwable类介绍 287
9.4.2  子类Error和Exception 290
9.5  Checked异常和Runtime异常的
区别 290
9.6  初学者应该明白的几个问题 292
9.6.1  杜绝异常处理的陋习 293
9.6.2  学习异常没有诀窍 296
9.6.3  异常处理语句的规则 296
9.6.4  建议使用嵌套来处理异常 298
9.6.5  分析异常类的继承关系 298
第10章  使用I/O系统来处理文件 301
10.1  Java I/O简介 302
10.2  与文件有关的类——File 302
10.3  随机读取类RandomAccessFile 304
10.4  字节流和字符流 306
10.4.1  字节流类和字符流类 306
10.4.2  使用字节流 306
10.4.3  使用字符流 309
10.5  字节转换流 311
10.6  内存操作流 312
10.7  使用管道流实现线程间的通信 313
10.8  使用打印流输出信息 315
10.9  BufferedReader类 316
10.9.1  BufferedReader类基础 316
10.9.2  使用BufferedReader类 317
10.10  Scanner类 318
10.11  数据操作流 320
10.11.1  DataOutputStream类 321
10.11.2  DataInputStream类 322
10.12  压缩流 323
10.12.1  ZIP压缩输入/输出流
  简介 323
10.12.2  ZipOutputStream类 324
10.12.3  ZipFile类 327
10.12.4  ZipInputStream类 327
10.13  回退流 328
10.14  字符编码 329
10.14.1  得到本机的编码显示 329
10.14.2  产生乱码 330
10.15  对象序列化 330
10.15.1  Serializable接口 331
10.15.2  对象输出流
  ObjectOutputStream 331
10.15.3  对象输入流
????ObjectInputStream   332
10.15.4  Externalizable接口 333
10.15.5  关键字transient 333
10.15.6  序列化一组对象 335
10.16  新增的I/O 336
10.16.1  新I/O概述 336
10.16.2  使用Buffer 336
10.17  初学者应该明白的几个问题 338
10.17.1  使用File.separator表示
  分隔符 338
10.17.2  综合创建和删除文件的
  操作 338
10.17.3  体会File类的复杂用法 339
10.17.4  将写入的数据换行 340
10.17.5  弄清字节流和字符流的
????区别 340
10.17.6  显示菜单 342
10.17.7  对象序列化和对象反序列化操
  作时的版本兼容性问题 344
10.17.8  不能让所有的类都实现
  Serializable接口 344
10.17.9  如何选择Externalizable接口
  和Serializable接口 345
第11章  快速体验AWT 347
11.1  GUI和AWT 348
11.2  容器 350
11.2.1  容器基础 350
11.2.2  容器中的常用组件 350
11.3  布局管理器 353
11.3.1  布局利器FlowLayout 353
11.3.2  布局利器BorderLayout 355
11.3.3  矩形网格布局GridLayout 356
11.3.4  版面管理器
 GridBagLayout 358
11.3.5  可以设置一个组件的布局——
 CardLayout 360
11.3.6  可以摆放GUI组件的布局
 管理器——BoxLayout 362
11.4  AWT中的常用组件 364
11.4.1  AWT中的组件 364
11.4.2  实现对话框效果 367
11.5  事件处理 369
11.5.1  Java的事件模型 369
11.5.2  事件和事件监听器 371
11.5.3  事件适配器 376
11.6  AWT的菜单 378
11.6.1  菜单条、菜单和菜单项 378
11.6.2  右键菜单 381
11.7  绘图 383
11.7.1  Component类中的绘图
 方法 383
11.7.2  Graphics类 383
11.8  操作位图 385
11.8.1  Image类和
 BufferedImage类 385
11.8.2  输入/输出位图 388
11.9  初学者应该明白的几个问题 389
11.9.1  创建Glue、Strut和
 RigidArea的几个静态方法 389
11.9.2  体会绝对定位的好处 390
11.9.3  AWT中的菜单组件不能创建
 图标菜单 391
第12章  由浅入深体验Swing 393
12.1  Swing介绍 394
12.2  Swing的基本组件 394
12.2.1  Swing组件的层次结构 395
12.2.2  Swing组件的特性 396
12.2.3  Swing胜过AWT的优势 397
12.2.4  使用Swing实现AWT
 组件 397
12.2.5  JFrame、JScrollPane
 和边框 398
12.2.6  JToolBar 401
12.2.7  JColorChooser
 和JFileChooser 403
12.2.8  JOptionPane 405
12.2.9  JSplitPane 408
12.2.10  JTabbedPane 409
12.3  拖放处理 410
12.4  JProgressBar、ProgressMonitor
 和BoundedRangeModel 412
12.4.1  创建一个进度条 413
12.4.2  使用ProgressMonitor创建
 进度条对话框 413
12.5  JSlider和BoundedRangeModel 415
12.6  JList和JComboBox 416
12.6.1  使用JList和JComboBox的
 构造器创建列表框 416
12.6.2  使用ListCellRenderer 418
12.7  JTree和TreeModel 418
12.7.1  创建树 419
12.7.2  拖动、编辑节点 420
12.8  初学者应该明白的几个问题 421
12.8.1  贯穿Java开发的MVC
 模式 421
12.8.2  实现有意义的进度条效果 422
第13章  数据库编程 425
13.1  与数据库相关的概念 426
13.2  SQL语言 428
13.2.1  数据定义 428
13.2.2  数据操纵 430
13.2.3  视图 432
13.2.4  SQL高级操作 433
13.3  初识JDBC 434
13.3.1  JDBC驱动类型 434
13.3.2  JDBC的常用接口和类 435
13.3.3  JDBC编程步骤 437
13.4  常用的几种数据库 441
13.4.1  Access数据库 441
13.4.2  SQL Server数据库 441
13.4.3  MySQL数据库 445
13.5  执行SQL语句的方式 445
13.5.1  使用executeUpdate 445
13.5.2  使用execute方法 447
13.6  事务处理 449
13.6.1  JDBC中的事务控制 449
13.6.2  检查数据库是否支持事务
 处理 450
13.6.3  JDBC事务控制的流程 450
13.7  存储过程 454
13.7.1  创建存储过程 454
13.7.2  调用创建的存储过程 456
13.8  初学者应该明白的几个问题 458
13.8.1  通过课外学习掌握数据库
 技术 458
13.8.2  数据库产品概览,没有
 最完美的产品 458
13.8.3  乱花渐欲迷人眼,始终相信
 合适的即为最好的 460
第14章  网络与通信编程 463
14.1  Java中的网络包 464
14.1.1  InetAddress类详解 464
14.1.2  URLDecoder类
 和URLEncoder类 464
14.1.3  URL和URLConnection 465
14.1.4  实践演练 467
14.2  TCP编程 468
14.2.1  使用ServletSocket 469
14.2.2  使用Socket 469
14.2.3  TCP中的多线程 471
14.2.4  实现非阻塞Socket通信 475
14.3  UDP编程 479
14.3.1  使用DatagramSocket 479
14.3.2  使用MulticastSocket 484
14.3.3  MulticastSocket类的意义 487
14.4  代理服务器 487
14.4.1  什么是代理服务器 487
14.4.2  使用Proxy创建连接 489
14.4.3  使用ProxySelector选择代理
 服务器 490
14.4.4  服务器代理实例 492
14.5  初学者应该明白的几个问题 496
14.5.1  URL处理的两点注意
 事项 496
14.5.2  使用异常处理完善程序 497
14.5.3  分析ServerSocketChannel的
 麻烦之处 497
14.5.4  体会繁琐的
 DatagramPacket 498
14.5.5  需要知道代理背后的事情 498
14.5.6  代理服务无止境 499
第15章  多线程 501
15.1  线程基础 502
15.1.1  线程概述 502
15.1.2  线程与函数的关系 502
15.1.3  Java的线程模型 503
15.2  创建线程 503
15.2.1  使用Thread类创建线程 503
15.2.2  使用Runnable接口创建
 线程 506
15.3  线程的生命周期 508
15.3.1  创建并运行线程 508
15.3.2  start和run的区别 509
15.3.3  挂起和唤醒线程 509
15.3.4  终止线程的三种方法 511
15.3.5  线程的优先级 513
15.3.6  线程阻塞 513
15.3.7  线程死亡 514
15.4  控制线程 514
15.4.1  使用join方法 514
15.4.2  慎重使用volatile关键字 515
15.4.3  后台、让步和睡眠 517
15.4.4  sleep()方法和yield()方法的
 区别 519
15.5  线程传递数据 519
15.5.1  向线程传递数据的三种
 方法 519
15.5.2  两种从线程返回数据的
 方法 522
15.6  数据同步 523
15.6.1  使用synchronized关键字
 同步类方法 526
15.6.2  使用Synchronized块
 同步变量 529
15.6.3  同步锁 531
15.7  多线程编程的常见缺陷及其产生的
 原因 533
15.7.1  死锁问题 534
15.7.2  多线程编程的常见陷阱 537
15.8  初学者应该明白的几个问题 541
15.8.1  在方法run()中使用线程名时
 带来的问题 542
15.8.2  继承Thread类或实现
 Runnable接口的比较 542
15.8.3  使用sleep()方法的注意
 事项 542
15.8.4  如何确定死锁发生 543
15.8.5  关键字synchronized和
 volatile的区别 543
15.8.6  使用关键字synchronized的
 注意事项 544
15.8.7  分析Swing的多线程死锁
??问题 546
第16章  案例: 综合供求信息平台 549
16.1  需求分析 550
16.1.1  规划流程 550
16.1.2  开发背景 550
16.1.3  需求分析 550
16.1.4  项目规划 551
16.2  网站功能结构 551
16.3  搭建开发环境 552
16.4  搭建数据库 552
16.4.1  数据库需求分析 553
16.4.2  数据库概念设计 553
16.4.3  数据库逻辑结构设计 554
16.5  设计公共类 555
16.5.1  数据库连接及操作类 555
16.5.2  业务处理类 557
16.5.3  分页类 559
16.5.4  字符串处理类 560
16.6  具体编码 560
16.6.1  设计前台页面 561
16.6.2  前台信息显示设计 562
16.6.3  信息发布模块设计 570
16.6.4  登录模块 572
16.6.5  后台页面模块 574
16.6.6  后台信息管理模块 574
16.7  测试 577
第17章  案例:小区 物业管理系统 581
17.1  系统概述和总体设计 582
17.1.1  系统需求分析 582

17.1.2  系统演示流程 583
17.2  数据库设计 583
17.2.1  选择数据库 583
17.2.2  数据库结构的设计 584
17.3  系统框架设计 586
17.3.1  创建工程及设计主界面 586
17.3.2  数据库ADO访问类 589
17.3.3  系统登录模块设计 589
17.4  基本信息管理模块 590
17.4.1  小区信息管理 590
17.4.2  楼宇信息管理 592
17.4.3  业主信息管理 594
17.4.4  收费项目管理 594
17.4.5  查询单价清单 595
17.5  消费指数管理模块 596
17.5.1  业主消费录入 597
17.5.2  物业消费录入 599
17.6  各项费用管理模块 600
17.6.1  业主费用查询 600
17.6.2  物业费用查询 602
17.7  测试 604
参考文献 605
  

商品标签

购买记录(近期成交数量0)

还没有人购买过此商品
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页

用户评论(共0条评论)

  • 暂时还没有任何用户评论
总计 0 个记录,共 1 页。 第一页 上一页 下一页 最末页
用户名: 匿名用户
E-mail:
评价等级:
评论内容:
验证码: captcha