当前位置:主页 > 书籍配套资源 > Java配套资源
《Java 开发从入门到精通》配套资源

《Java 开发从入门到精通》配套资源

  • 更新:2022-03-22
  • 大小:8.3 MB
  • 类别:Java
  • 作者:扶松柏、陈小玉
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

编辑推荐

本书的特色是实现了入门知识、实例演示、范例演练、技术解惑、综合实战5大部分内容的融合,让读者看得懂、用得上、学得会。一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。

丰富的配套资源 学习更高效459个实例,更多的实践演练机会781分钟视频讲解,降低学习难度306个拓展实例,真正地举一反三107个技术解惑,破解学习难点

“技术讲解”→范例演练”→“技术解惑”贯穿全书,全面掌握Java语言开发

技术讲解:通过153个实例,循序渐进地讲解了Java开发的各个知识点。范例演练:306个拓展范例和1个综合案例,使读者真正具有项目实战能力。技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱。

群 网站论坛实现教学互动,形成互帮互学的朋友圈网站论坛:读者答疑/学习辅导/PPT资源下载读者群:疑惑快速解答/和作者直接交流

内容简介

本书由浅入深地详细讲解了Java的开发技术,并通过具体实例的实现过程演练了各个知识点的具体使用流程。本书共20章,第1~2章讲解了Java技术的基础知识,包括Java印象和首段Java程序;第3~9章分别讲解了Java语法、条件语句、循环语句、数组、面向对象等知识,这些内容都是Java开发技术的核心知识;第10~14章分别讲解了集合、类库、泛型、异常处理、I/O和文件处理的基本知识,这些内容是Java开发技术的重点和难点;第15~19章是典型应用内容,分别讲解了数据库编程、网络与通信编程、多线程等内容;第20章通过一个综合实例的实现过程,介绍了Java技术在综合项目中的使用流程。本书内容循序渐进,以“技术解惑”和“范例演练”贯穿全书,引领读者全面掌握Java语言。本书不但适用于Java的初学者,也适用于有一定Java基础的读者,还可以作为大专院校相关专业的师生学习用书和培训学校的教材。

 

作者简介

上海大学计算机科学技术学院硕士,通信工程博士,精通Java、C语言、C 程序开发,擅长底层技术和应用程序的结合。具有丰富的Java开发经验和编程心得。

目录

  • 第1章 Java之印象 1
  • (视频总计19分钟,技术解惑3个)
  • 1.1 初步认识Java 2
  • 1.1.1 都在谈论Java 2
  • 1.1.2 Java的特点 2
  • 1.1.3 Java中的一些名词解释 3
  • 1.2 面向对象 4
  • 1.2.1 什么是面向对象 4
  • 1.2.2 Java的面向对象编程 4
  • 1.2.3 UML统一建模语言 5
  • 1.2.4 对象建模技术 7
  • 1.2.5 面向对象分析 8
  • 1.2.6 面向对象设计 10
  • 1.2.7 Java的面向对象特性 12
  • 1.3 技术解惑 13
  • 1.3.1 卓越者的总结 13
  • 1.3.2 对初学者的3条建议 14
  • 1.3.3 理解Java的垃圾回收
  • 机制 14
  • 第2章 第一段Java程序 15
  • (视频总计20分钟,技术解惑8个)
  • 2.1 搭建Java开发平台 16
  • 2.1.1 安装JDK 16
  • 2.1.2 配置开发环境 18
  • 2.2 编写第一段Java程序 18
  • 2.2.1 编写一段Java代码 18
  • 2.2.2 编译Java程序 19
  • 2.2.3 运行Java代码 19
  • 2.3 使用IDE工具 20
  • 2.3.1 最受欢迎的工具—
  • Eclipse 20
  • 2.3.2 官方推出的工具—
  • Netbeans 23
  • 2.3.3 商业工具——JBuilder 29
  • 2.4 Java的运行机制 29
  • 2.4.1 编译型/解释型运行机制 29
  • 2.4.2 程序运行机制 29
  • 2.5 技术解惑 30
  • 2.5.1 遵循源文件命名规则 30
  • 2.5.2 忽视系统文件的扩展名 30
  • 2.5.3 环境变量的问题 31
  • 2.5.4 大小写的问题 31
  • 2.5.5 main()方法的问题 31
  • 2.5.6 注意空格问题 32
  • 2.5.7 到底用不用IDE工具 32
  • 2.5.8 区分JRE和JDK 32
  • 第3章 Java语法 33
  • (视频总计72分钟,实例21个,拓展实例42个,技术解惑4个)
  • 3.1 量 34
  • 3.1.1 常量 34
  • 3.1.2 变量 35
  • 3.2 数据类型 37
  • 3.2.1 简单数据类型值的范围 37
  • 3.2.2 字符型 38
  • 3.2.3 整型 39
  • 3.2.4 浮点型 39
  • 3.2.5 布尔型 40
  • 3.3 运算符 41
  • 3.3.1 算术运算符 41
  • 3.3.2 关系运算符和逻辑运算符 44
  • 3.3.3 位运算符 45
  • 3.3.4 条件运算符 46
  • 3.3.5 赋值运算符 47
  • 3.3.6 运算符的优先级 48
  • 3.4 标识符和关键字 49
  • 3.4.1 标识符 49
  • 3.4.2 关键字 50
  • 3.5 字符串 50
  • 3.5.1 字符串的初始化 50
  • 3.5.2 String类 51
  • 3.5.3 StringBuffer类 53
  • 3.6 类型转换 54
  • 3.6.1 自动类型转换 54
  • 3.6.2 强制转换 55
  • 3.7 技术解惑 55
  • 3.7.1 定义常量时的注意事项 55
  • 3.7.2 char类型中单引号的意义 56
  • 3.7.3 正无穷和负无穷的问题 56
  • 3.7.4 移位运算符的限制 56
  • 第4章 条件语句 58
  • (视频总计28分钟,实例6个,拓展实例12个,技术解惑4个)
  • 4.1 if语句详解 59
  • 4.1.1 if语句 59
  • 4.1.2 if语句的延伸 60
  • 4.1.3 多个条件判断的if语句 61
  • 4.2 switch语句详解 62
  • 4.2.1 switch语句的形式 62
  • 4.2.2 无break的情况 63
  • 4.2.3 case没有执行语句 64
  • 4.2.4 default可以不在末尾 64
  • 4.3 条件语句演练 65
  • 4.3.1 正确使用switch语句 65
  • 4.3.2 正确使用if语句 66
  • 4.3.3 switch语句的执行顺序 67
  • 4.4 技术解惑 68
  • 4.4.1 if-else语句的意义 68
  • 4.4.2 使用switch语句时的几个
  • 注意事项 68
  • 4.4.3 何时用switch语句比较好 69
  • 4.4.4 switch语句和if…else if
  • 语句的选择 69
  • 第5章 循环语句 70
  • (视频总计24分钟,实例8个,拓展实例16个,技术解惑2个)
  • 5.1 Java循环语句 71
  • 5.1.1 for循环 71
  • 5.1.2 while循环语句 73
  • 5.1.3 do-while循环语句 75
  • 5.2 跳转语句 76
  • 5.2.1 break语句的应用 76
  • 5.2.2 return语句的应用 78
  • 5.2.3 continue跳转语句 79
  • 5.3 技术解惑 79
  • 5.3.1 使用for循环的技巧 79
  • 5.3.2 跳转语句的选择技巧 80
  • 第6章 特殊数据—数组 82
  • (视频总计33分钟,实例8个,拓展实例16个,技术解惑4个)
  • 6.1 简单的一维数组 83
  • 6.1.1 声明一维数组 83
  • 6.1.2 创建一维数组 83
  • 6.1.3 初始化一维数组 84
  • 6.2 二维数组 85
  • 6.2.1 声明二维数组 85
  • 6.2.2 创建二维数组 85
  • 6.2.3 初始化二维数组 86
  • 6.3 三维数组 88
  • 6.3.1 声明三维数组 88
  • 6.3.2 创建三维数组的方法 88
  • 6.3.3 初始化三维数组 88
  • 6.4 操作数组 89
  • 6.4.1 复制数组 89
  • 6.4.2 比较数组 90
  • 6.4.3 搜索数组中的元素 90
  • 6.4.4 排序数组 91
  • 6.4.5 填充数组 91
  • 6.5 深入理解数组 93
  • 6.5.1 动态数组 93
  • 6.5.2 foreach循环 94
  • 6.5.3 数组的内理 94
  • 6.6 技术解惑 96
  • 6.6.1 数组内是同一类型的数据 96
  • 6.6.2 动态初始化数组的规则 96
  • 6.6.3 引用类型 96
  • 6.6.4 数组必须初始化 97
  • 第7章 Java的面向对象(上) 98
  • (视频总计35分钟,实例7个,拓展实例14个,技术解惑5个)
  • 7.1 类 99
  • 7.1.1 定义类 99
  • 7.1.2 定义属性 99
  • 7.1.3 定义方法 100
  • 7.1.4 定义构造器 100
  • 7.2 修饰符 101
  • 7.2.1 public修饰符 101
  • 7.2.2 private私有修饰符 101
  • 7.2.3 protected保护修饰符 102
  • 7.2.4 其他修饰符 103
  • 7.3 方法详解 103
  • 7.3.1 方法的所属性 104
  • 7.3.2 传递方法参数 104
  • 7.3.3 长度可变的方法 105
  • 7.3.4 构造方法 106
  • 7.3.5 递归方法 106
  • 7.4 使用this 107
  • 7.5 使用类和对象 108
  • 7.5.1 创建和使用对象 108
  • 7.5.2 使用静态变量和静态
  • 方法 109
  • 7.6 抽象类和抽象方法 109
  • 7.6.1 抽象类和抽象方法基础 110
  • 7.6.2 抽象类必须有一个抽象
  • 方法 111
  • 7.6.3 抽象类的作用 112
  • 7.7 软件包 113
  • 7.7.1 定义软件包 113
  • 7.7.2 在Eclipse定义软件包 113
  • 7.7.3 在程序里插入软件包 114
  • 7.8 技术解惑 115
  • 7.8.1 Java传递引用类型的
  • 实质 115
  • 7.8.2 掌握this的好处 116
  • 7.8.3 推出抽象方法的原因 117
  • 7.8.4 什么时候用抽象类 117
  • 7.8.5 static修饰的作用 118
  • 第8章 Java的面向对象(中) 119
  • (视频总计31分钟,实例7个,拓展实例14个,技术解惑6个)
  • 8.1 类的继承 120
  • 8.1.1 父类和子类 120
  • 8.1.2 调用父类的构造方法 121
  • 8.1.3 访问父类的属性和方法 121
  • 8.1.4 多重次继承 122
  • 8.1.5 重写父类的方法 124
  • 8.2 重写和重载 125
  • 8.2.1 重写 125
  • 8.2.2 重载 127
  • 8.2.3 联合使用重写与重载 128
  • 8.3 隐藏和封装 128
  • 8.3.1 Java中的封装 128
  • 8.3.2 使用访问控制符 129
  • 8.3.3 Java中的包 130
  • 8.3.4 import 132
  • 8.4 接口 132
  • 8.4.1 定义接口 133
  • 8.4.2 接口里的量和方法 133
  • 8.4.3 实现接口 134
  • 8.4.4 引用接口 135
  • 8.4.5 接口的继承 136
  • 8.4.6 接口和抽象类 137
  • 8.5 技术解惑 138
  • 8.5.1 重写方法的两点注意事项 138
  • 8.5.2 重写和重载的区别 138
  • 8.5.3 举例理解类的意义 138
  • 8.5.4 Java包的一些规则 138
  • 8.5.5 探讨Package和import的
  • 机制 139
  • 8.5.6 Java接口编程的机理 140
  • 第9章 Java的面向对象(下) 141
  • (视频总计39分钟,实例6个,拓展实例12个,技术解惑10个)
  • 9.1 构造器详解 142
  • 9.1.1 初始化构造器 142
  • 9.1.2 构造器重载 143
  • 9.1.3 调用父类构造器 143
  • 9.2 多态 144
  • 9.2.1 何谓多态 144
  • 9.2.2 演示Java中的多态 146
  • 9.3 引用类型 147
  • 9.3.1 4种引用类型 147
  • 9.3.2 instanceof运算符 150
  • 9.3.3 引用变量的强制类型
  • 转换 151
  • 9.4 组合 152
  • 9.5 初始化块 154
  • 9.5.1 何谓初始化块 154
  • 9.5.2 静态初始化块 155
  • 9.6 包装类 156
  • 9.7 深入详解final修饰符 157
  • 9.7.1 用final修饰变量 158
  • 9.7.2 final方法 159
  • 9.8 内部类 160
  • 9.8.1 何谓内部类 160
  • 9.8.2 非静态内部类 160
  • 9.8.3 成员内部类 162
  • 9.8.4 局部内部类 162
  • 9.8.5 静态内部类 163
  • 9.8.6 匿名内部类 164
  • 9.8.7 匿名类和内部类中的
  • this 166
  • 9.8.8 总结Java内部类 167
  • 9.9 枚举类 170
  • 9.9.1 枚举类的方法 170
  • 9.9.2 手动实现枚举类 170
  • 9.9.3 枚举类型 172
  • 9.10 技术解惑 174
  • 9.10.1 构造器和方法的区别 174
  • 9.10.2 this在构造器中的妙用 175
  • 9.10.3 分析子类构造器调用父类
  • 构造器的几种情况 175
  • 9.10.4 要避免编译错误 175
  • 9.10.5 强制类型转换不是
  • *的 176
  • 9.10.6 继承和组合的选择 176
  • 9.10.7 分析发生异常的原因 176
  • 9.10.8 用final修饰基本类型和
  • 引用类型变量之间的
  • 区别 176
  • 9.10.9 类的4种权限 177
  • 9.10.10 手工实现枚举类的缺点 177
  • 第10章 集合 178
  • (视频总计51分钟,实例8个,拓展实例16个,技术解惑8个)
  • 10.1 Java集合概述 179
  • 10.2 Collection接口和Iterator接口 180
  • 10.2.1 基础知识介绍 180
  • 10.2.2 Collection接口和Iterator
  • 接口 181
  • 10.3 Set接口 182
  • 10.3.1 基础知识介绍 182
  • 10.3.2 使用HashSet 185
  • 10.3.3 使用TreeSet类 186
  • 10.3.4 使用EnumSet类 188
  • 10.4 List接口 190
  • 10.4.1 基本知识介绍 190
  • 10.4.2 使用List接口和ListIterator
  • 接口 192
  • 10.4.3 使用ArrayList和
  • Vector类 193
  • 10.5 Map接口 194
  • 10.5.1 基本知识介绍 194
  • 10.5.2 使用HashMap和Hashtable
  • 实现类 198
  • 10.5.3 使用SortedMap接口和
  • TreeMap实现类 199
  • 10.5.4 使用WeakHashMap类 201
  • 10.5.5 使用IdentityHashMap类 202
  • 10.5.6 使用EnumMap类 202
  • 10.6 Queue接口 203
  • 10.6.1 LinkedList类 203
  • 10.6.2 PriorityQueue类 205
  • 10.7 集合工具类Collections 205
  • 10.7.1 排序操作 205
  • 10.7.2 查找和替换操作 206
  • 10.8 其他集合类 207
  • 10.8.1 Stack类 207
  • 10.8.2 属性类Properties 208
  • 10.9 技术解惑 211
  • 10.9.1 Collection集合元素的改变
  • 问题 211
  • 10.9.2 深入理解HashSet 211
  • 10.9.3 使用类EnumSet时的注意
  • 事项 211
  • 10.9.4 ArrayList和Vector的
  • 区别 212
  • 10.9.5 TreeMap判断两个元素
  • 相等的标准 212
  • 10.9.6 分析几种Map类的
  • 性能 212
  • 10.9.7 LinkedList、ArrayList、
  • Vector性能问题的研究 212
  • 10.9.8 用swap()方法把集合中
  • 两个位置的内容进行
  • 交换 212
  • 第11章 常用的类库 214
  • (视频总计54分钟,实例15个,拓展实例30个,技术解惑5个)
  • 11.1 StringBuffer类 215
  • 11.1.1 StringBuffer类基础 215
  • 11.1.2 使用StringBuffer类 215
  • 11.2 Runtime类 217
  • 11.2.1 Runtime类 217
  • 11.2.2 使用Runtime类 218
  • 11.3 程序国际化 219
  • 11.3.1 国际化基础 219
  • 11.3.2 Locale类 219
  • 11.3.3 ResourceBundle类 220
  • 11.3.4 处理动态文本 221
  • 11.3.5 使用类代替资源文件 222
  • 11.4 System类 222
  • 11.4.1 System类基础 223
  • 11.4.2 垃圾对象的回收 223
  • 11.5 Date类 224
  • 11.5.1 使用Date类 224
  • 11.5.2 使用Calendar类 225
  • 11.5.3 使用DateFormat类 225
  • 11.5.4 使用SimpleDate
  • Format类 226
  • 11.6 Math类 227
  • 11.7 Random类 228
  • 11.8 NumberFormat类 229
  • 11.9 BigInteger类 230
  • 11.10 BigDecimal类 231
  • 11.11 克隆对象 233
  • 11.12 Arrays类 233
  • 11.13 接口Comparable 234
  • 11.13.1 Comparable接口基础 234
  • 11.13.2 使用Comparable接口 235
  • 11.13.3 使用Comparator接口 236
  • 11.14 Observable类和Observer
  • 接口 237
  • 11.15 正则表达式 239
  • 11.15.1 正则表达式基础 239
  • 11.15.2 使用Pattern类和
  • Matcher类 240
  • 11.15.3 String类和正则表达式 240
  • 11.16 Timer类和TimerTask类 241
  • 11.16.1 Timer类 241
  • 11.16.2 TimerTask类 242
  • 11.17 技术解惑 243
  • 11.17.1 StringBuffer和String
  • 选择的异同 243
  • 11.17.2 通过System类获取本机
  • 的全部环境属性 243
  • 11.17.3 分析对象的生命周期 244
  • 11.17.4 如果没有实现Comparable
  • 接口会出现异常 244
  • 11.17.5 体验正则表达式的
  • 好处 245
  • 第12章 泛型 246
  • (视频总计28分钟,实例6个,拓展实例12个,技术解惑5个)
  • 12.1 泛型基础 247
  • 12.1.1 泛型的好处 247
  • 12.1.2 类型检查 247
  • 12.1.3 使用泛型 249
  • 12.2 泛型详解 249
  • 12.2.1 定义泛型接口和类 250
  • 12.2.2 派生子类 250
  • 12.2.3 并不存在泛型类 251
  • 12.3 类型通配符 252
  • 12.3.1 设置类型通配符的上限 252
  • 12.3.2 设置类型形参的上限 254
  • 12.4 泛型方法 254
  • 12.4.1 定义泛型方法 254
  • 12.4.2 设置通配符下限 257
  • 12.5 泛型接口 258
  • 12.6 泛型继承 259
  • 12.6.1 以泛型类为父类 259
  • 12.6.2 以非泛型类为父类 260
  • 12.7 运行时类型识别 260
  • 12.8 强制类型转换 261
  • 12.9 擦除 262
  • 12.9.1 擦除基础 262
  • 12.9.2 擦除带来的错误 264
  • 12.10 技术解惑 265
  • 12.10.1 彻底分析Java语言中
  • 泛型的本质 265
  • 12.10.2 泛型方法和类型通配符的
  • 区别 265
  • 12.10.3 泛型类的继承规则 266
  • 12.10.4 类型擦除和泛型特性的
  • 联系 266
  • 12.10.5 使用泛型应该遵循的原则
  • 和注意事项 267
  • 第13章 异常处理 268
  • (视频总计24分钟,实例8个,拓展实例16个,技术解惑4个)
  • 13.1 什么是异常 269
  • 13.1.1 认识异常 269
  • 13.1.2 Java的异常处理机制 269
  • 13.1.3 Java提供的异常处理类 271
  • 13.2 异常处理方式 272
  • 13.2.1 使用try…catch处理
  • 异常 272
  • 13.2.2 处理多个异常 273
  • 13.2.3 将finally关键字使用在
  • 异常中 273
  • 13.2.4 访问异常信息 275
  • 13.3 抛出异常 276
  • 13.3.1 使用throws抛出异常 276
  • 13.3.2 使用throw抛出异常 277
  • 13.4 自定义异常 278
  • 13.4.1 Throwable类介绍 278
  • 13.4.2 使用Throwable类自定义
  • 异常 280
  • 13.5 分析Checked异常和Runtime
  • 异常的区别 281
  • 13.5.1 机制上 282
  • 13.5.2 逻辑上 282
  • 13.6 异常处理的陋习 283
  • 13.6.1 丢弃异常 283
  • 13.6.2 不指定具体的异常 284
  • 13.6.3 占用资源不释放 285
  • 13.6.4 不说明异常的详细信息 285
  • 13.6.5 过于庞大的try块 285
  • 13.6.6 输出数据不完整 285
  • 13.7 异常处理语句的规则 286
  • 13.8 技术解惑 288
  • 13.8.1 用嵌套异常处理是更合理
  • 的方法 288
  • 13.8.2 区别throws关键字和throw
  • 关键字 288
  • 13.8.3 异常类的继承关系 288
  • 13.8.4 子类Error和Exception 288
  • 第14章 I/O与文件处理 289
  • (视频总计63分钟,实例15个,拓展实例30个,技术解惑8个)
  • 14.1 Java I/O简介 290
  • 14.2 File类 290
  • 14.2.1 File类中的方法 290
  • 14.2.2 使用File类操作文件 291
  • 14.3 RandomAccessFile类 293
  • 14.3.1 RandomAccessFile类的
  • 常用方法 294
  • 14.3.2 使用RandomAccess
  • File类 294
  • 14.4 字节流与字符流 295
  • 14.4.1 节流类和字符流类 295
  • 14.4.2 使用字节流 295
  • 14.4.3 使用字符流 299
  • 14.5 字节转换流 301
  • 14.6 内存操作流 302
  • 14.7 管道流 303
  • 14.8 打印流 304
  • 14.8.1 基础知识 304
  • 14.8.2 使用打印流 305
  • 14.9 System类 306
  • 14.9.1 System.out 306
  • 14.9.2 System.err 306
  • 14.9.3 System.in 307
  • 14.9.4 输入/输出重定向 308
  • 14.10 BufferedReader类 309
  • 14.10.1 BufferedReader类基础 309
  • 14.10.2 使用BufferedReader类 310
  • 14.11 Scanner类 311
  • 14.11.1 Scanner类基础 311
  • 14.11.2 使用Scanner类 312
  • 14.12 数据操作流 314
  • 14.12.1 DataOutputStream类 314
  • 14.12.2 DataInputStream类 315
  • 14.13 合并流 316
  • 14.14 压缩流 317
  • 14.14.1 ZIP压缩输入/输出流
  • 简介 317
  • 14.14.2 ZipOutputStream类 317
  • 14.14.3 ZipFile类 320
  • 14.14.4 ZipInputStream类 321
  • 14.15 回退流 321
  • 14.16 字符编码 322
  • 14.16.1 得到本机的编码显示 323
  • 14.16.2 产生乱码 323
  • 14.17 对象序列化 324
  • 14.17.1 Serializable接口 324
  • 14.17.2 对象输出流
  • ObjectOutputStream 324
  • 14.17.3 对象输入流
  • ObjectInputStream 325
  • 14.17.4 Externalizable接口 326
  • 14.17.5 关键字transient 327
  • 14.17.6 序列化一组对象 328
  • 14.18 新增的I/O 329
  • 14.18.1 新I/O概述 329
  • 14.18.2 使用Buffer 330
  • 14.18.3 使用Channel 332
  • 14.19 技术解惑 334
  • 14.19.1 使用File.separator表示
  • 分隔符 334
  • 14.19.2 综合演练创建和删除文件
  • 的操作 334
  • 14.19.3 File类的复杂用法 335
  • 14.19.4 字节流和字符流的区别 335
  • 14.19.5 System.err和System.out
  • 选择 337
  • 14.19.6 使用I/O实现一个简单的
  • 菜单效果 337
  • 14.19.7 对象序列化和对象反序列
  • 化操作时的版本兼容性
  • 问题 339
  • 14.19.8 不能让所有的类都实现
  • Serializble接口 339
  • 第15章 AWT的奇幻世界 340
  • (视频总计49分钟,实例10个,拓展实例20个,技术解惑6个)
  • 15.1 GUI和AWT 341
  • 15.2 容器 344
  • 15.2.1 容器基础 344
  • 15.2.2 容器中的常用组件 345
  • 15.3 布局管理器 347
  • 15.3.1 布局利器FlowLayout 347
  • 15.3.2 布局利器BorderLayout 348
  • 15.3.3 布局利器GridLayout 350
  • 15.3.4 GridBagLayout布局
  • 管理器 351
  • 15.3.5 布局利器CardLayout 356
  • 15.3.6 BoxLayout布局管理器 358
  • 15.3.7 布局利器Null 360
  • 15.4 AWT的常用组件 361
  • 15.4.1 AWT中的组件 361
  • 15.4.2 AWT中的对话框 363
  • 15.5 事件处理 365
  • 15.5.1 Java的事件模型 365
  • 15.5.2 事件和事件监听器 366
  • 15.5.3 事件适配器 371
  • 15.6 AWT的菜单 372
  • 15.6.1 菜单条、菜单和菜单项 372
  • 15.6.2 右键菜单 374
  • 15.7 绘图 376
  • 15.7.1 类Component中的绘图
  • 方法 376
  • 15.7.2 Graphics类 376
  • 15.8 位图操作 378
  • 15.8.1 Image类和
  • BufferedImage类 378
  • 15.8.2 输入/输出位图 380
  • 15.9 技术解惑 382
  • 15.9.1 使用*定位 382
  • 15.9.2 对事件处理模型的简化
  • 理解 382
  • 15.9.3 使用AWT开发动画 383
  • 15.9.4 图片缩放在现实中的
  • 意义 383
  • 15.9.5 AWT和Swing是窗体编程
  • 的两个主角 383
  • 15.9.6 AWT中的菜单组件不能
  • 创建图标菜单 383
  • 第16章 Swing详解 384
  • (视频总计66分钟,实例14个,拓展实例28个,技术解惑2个)
  • 16.1 Swing基础 385
  • 16.2 Swing的组件 386
  • 16.2.1 Swing组件的层次
  • 结构 386
  • 16.2.2 Swing实现AWT组件 387
  • 16.2.3 Jframe、JscrollPane和
  • 边框 391
  • 16.2.4 JToolBar 393
  • 16.2.5 JColorChooser和
  • JFileChooser 395
  • 16.2.6 JOptionPane 397
  • 16.2.7 JSplitPane 402
  • 16.2.8 JTabbedPane 405
  • 16.3 拖放处理 407
  • 16.3.1 拖放处理基础 407
  • 16.3.2 Swing中的拖放处理 407
  • 16.4 实现进度条效果——
  • JProgressBar、ProgressMonitor
  • 和BoundedRangeModel 409
  • 16.4.1 创建一个进度条 409
  • 16.4.2 使用ProgressMonitor创建
  • 进度条对话框 411
  • 16.5 JSlider和BoundedRangeModel 412
  • 16.6 JList和JComboBox 415
  • 16.6.1 使用JList和JComboBox
  • 的构造器创建列表框 415
  • 16.6.2 使用ListCellRenderer 418
  • 16.7 JTree和TreeModel 419
  • 16.7.1 创建树 420
  • 16.7.2 拖动、编辑节点 421
  • 16.8 技术解惑 425
  • 16.8.1 贯穿Java开发的MVC
  • 模式 425
  • 16.8.2 Swing胜过AWT的
  • 优势 425
  • 第17章 数据库编程 426
  • (视频总计26分钟,实例2个,拓展实例4个,技术解惑5个)
  • 17.1 SQL基础 427
  • 17.1.1 数据定义 427
  • 17.1.2 数据操纵 428
  • 17.1.3 视图 430
  • 17.1.4 SQL高级操作 430
  • 17.2 初识JDBC 431
  • 17.2.1 JDBC API 432
  • 17.2.2 JDBC驱动类型 432
  • 17.2.3 JDBC的常用接口和类 433
  • 17.2.4 JDBC编程步骤 434
  • 17.3 常用的几种数据库 437
  • 17.3.1 Access数据库 437
  • 17.3.2 SQL Server数据库 437
  • 17.3.3 MySQL数据库 440
  • 17.4 执行SQL语句的方式 443
  • 17.4.1 使用executeUpdate 443
  • 17.4.2 使用execute方法 444
  • 17.5 事务处理 446
  • 17.5.1 JDBC中的事务控制 446
  • 17.5.2 JDBC事务控制的流程 447
  • 17.6 存储过程 450
  • 17.6.1 存储过程基础 450
  • 17.6.2 创建存储过程 450
  • 17.6.3 调用创建存储过程 452
  • 17.7 技术解惑 453
  • 17.7.1 池子的功效 453
  • 17.7.2 服务器自带连接池的
  • 问题 454
  • 17.7.3 连接池模型 455
  • 17.7.4 数据模型、概念模型和关系
  • 数据模型 455
  • 17.7.5 数据库系统的结构 456
  • 第18章 网络与通信编程 457
  • (视频总计45分钟,实例8个,拓展实例16个,技术解惑6个)
  • 18.1 Java中的网络包 458
  • 18.1.1 InetAddress类详解 458
  • 18.1.2 URLDecoder类和
  • URLEncoder类详解 458
  • 18.1.3 URL和URLConnection 459
  • 18.1.4 实践演练 460
  • 18.2 TCP编程 463
  • 18.2.1 使用ServletSocket 463
  • 18.2.2 使用Socket 464
  • 18.2.3 TCP中的多线程 465
  • 18.2.4 实现非阻塞Socket通信 468
  • 18.3 UDP编程 472
  • 18.3.1 使用DatagramSocket 472
  • 18.3.2 使用MulticastSocket 475
  • 18.4 代理服务器 478
  • 18.4.1 什么是代理服务器 478
  • 18.4.2 使用Proxy创建连接 479
  • 18.4.3 使用ProxySelector选择
  • 代理服务器 480
  • 18.4.4 服务器代理实例 482
  • 18.5 技术解惑 485
  • 18.5.1 使用异常处理完善程序 485
  • 18.5.2 使用ServerSocketChannel
  • 的麻烦之处 485
  • 18.5.3 体会烦琐的
  • DatagramPacket 486
  • 18.5.4 MulticastSocket类的重要
  • 意义 486
  • 18.5.5 继承ProxySelector时需要
  • 做的工作 486
  • 18.5.6 代理服务无止境 486
  • 第19章 多线程 487
  • (视频总计33分钟,实例3个,拓展实例6个,技术解惑10个)
  • 19.1 线程基础 488
  • 19.1.1 线程概述 488
  • 19.1.2 线程带来的意义 488
  • 19.1.3 Java的线程模型 489
  • 19.2 创建线程 490
  • 19.2.1 使用Thread类创建
  • 线程 490
  • 19.2.2 使用Runnable接口创建
  • 线程 492
  • 19.3 线程的生命周期 493
  • 19.3.1 创建并运行线程 494
  • 19.3.2 挂起和唤醒线程 494
  • 19.3.3 终止线程的3种方法 495
  • 19.3.4 线程阻塞 497
  • 19.3.5 线程死亡 498
  • 19.4 控制线程 499
  • 19.4.1 使用join方法 499
  • 19.4.2 慎重使用volatile
  • 关键字 500
  • 19.4.3 后台、让步和睡眠 501
  • 19.5 线程传递数据 502
  • 19.5.1 向线程传递数据的3种
  • 方法 502
  • 19.5.2 从线程返回数据的两种
  • 方法 504
  • 19.6 数据同步 505
  • 19.6.1 使用Synchronized关键字
  • 同步类方法 509
  • 19.6.2 使用Synchronized块同步
  • 变量 511
  • 19.6.3 同步锁 512
  • 19.7 总结多线程编程的常见缺陷及其
  • 产生的原因 514
  • 19.7.1 死锁问题 515
  • 19.7.2 多线程编程的常见陷阱 517
  • 19.8 技术解惑 521
  • 19.8.1 线程和函数的关系 521
  • 19.8.2 在run方法中使用线程名
  • 时带来的问题 521
  • 19.8.3 继承Thread类或实现
  • Runnable接口方式的
  • 比较 521
  • 19.8.4 start和run的区别 521
  • 19.8.5 使用sleep()方法的注意
  • 事项 521
  • 19.8.6 线程的优先级 522
  • 19.8.7 如何确定发生死锁 522
  • 19.8.8 关键字synchronized和
  • volatile的区别 522
  • 19.8.9 sleep()方法和yield()方法
  • 的区别 523
  • 19.8.10 分析Swing的多线程死锁
  • 问题 523
  • 第20章 整合开发企业快信系统 524
  • (视频总计41分钟)
  • 20.1 一个项目 525
  • 20.1.1 背景分析 525
  • 20.1.2 需求分析 525
  • 20.1.3 核心技术分析 525
  • 20.2 系统设计 525
  • 20.2.1 系统目标 525
  • 20.2.2 系统功能结构 525
  • 20.3 搭建开发环境 526
  • 20.3.1 建立短信猫开发环境 526
  • 20.3.2 设计数据库 527
  • 20.3.3 设计表 528
  • 20.4 规划系统文件 530
  • 20.5 具体编码 531
  • 20.5.1 编写公用模块代码 531
  • 20.5.2 设计主页 534
  • 20.5.3 名片夹管理模块 535
  • 20.5.4 收发短信模块 540
  • 20.5.5 邮件群发模块 543
  • 20.6 分析Java Mail组件 544
  • 20.6.1 Java Mail简介 544
  • 20.6.2 邮件协议简介 545
  • 20.6.3 邮件发送 545
  • 20.6.4 收取邮件 547
  • 20.7 项目调试 547

资源下载

资源下载地址1:https://box.lenovo.com/l/EnyAGN

相关资源

网友留言