网站颜色:

华研图书馆 Java开发从入门到精通 自学java编程思想核心技术 JAVA项目实战开发案例 javascript高级程序设计教程 计算机网络基础.

  • 产品名称:Java开发从入门到精通
  • 是否是套装:否
  • 书名:Java开发从入门到精通
  • 定价:59.00元
  • 出版社名称:人民邮电出版社
  • 出版时间:2016年9月
  • 作者:扶松柏陈小玉
  • 开本:16开
  • 书名:Java开发从入门到精通

 编辑推荐.jpg
一本书的容量,讲解了入门类、范例类和项目实战类三类图书的内容。

丰富的配套资源 学习更高效

459个实例,更多的实践演练机会

781分钟视频讲解,降低学习难度

306个拓展实例,真正地举一反三

107个技术解惑,破解学习难点

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

技术讲解:通过153个实例,循序渐进地讲解了Java开发的各个知识点。

范例演练:306个拓展范例和1个综合案例,使读者真正具有项目实战能力。

技术解惑:把容易混淆的概念单独讲解和剖析,帮助读者绕过学习中的陷阱。

 

基本信息.jpg

书 名:Java开发从入门到精通

ISBN (咨询特价)

作 者 :扶松柏 陈小玉

开 本 :16 开

定 价: 59.00

出版社:人民邮电出版社

目录.jpg

第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

(咨询特价) 技术解惑 174

(咨询特价).1 构造器和方法的区别 174

(咨询特价).2 this在构造器中的妙用 175

(咨询特价).3 分析子类构造器调用父类

构造器的几种情况 175

(咨询特价).4 要避免编译错误 175

(咨询特价).5 强制类型转换不是

万能的 176

(咨询特价).6 继承和组合的选择 176

(咨询特价).7 分析发生异常的原因 176

(咨询特价).8 用final修饰基本类型和

引用类型变量之间的

区别 176

(咨询特价).9 类的4种权限 177

(咨询特价).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

(咨询特价) BigDecimal类 231

(咨询特价) 克隆对象 233

(咨询特价) Arrays类 233

(咨询特价) 接口Comparable 234

(咨询特价).1 Comparable接口基础 234

(咨询特价).2 使用Comparable接口 235

(咨询特价).3 使用Comparator接口 236

(咨询特价) Observable类和Observer

接口 237

(咨询特价) 正则表达式 239

(咨询特价).1 正则表达式基础 239

(咨询特价).2 使用Pattern类和

Matcher类 240

(咨询特价).3 String类和正则表达式 240

(咨询特价) Timer类和TimerTask类 241

(咨询特价).1 Timer类 241

(咨询特价).2 TimerTask类 242

(咨询特价) 技术解惑 243

(咨询特价).1 StringBuffer和String

选择的异同 243

(咨询特价).2 通过System类获取本机

的全部环境属性 243

(咨询特价).3 分析对象的生命周期 244

(咨询特价).4 如果没有实现Comparable

接口会出现异常 244

(咨询特价).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

(咨询特价) 技术解惑 265

(咨询特价).1 彻底分析Java语言中

泛型的本质 265

(咨询特价).2 泛型方法和类型通配符的

区别 265

(咨询特价).3 泛型类的继承规则 266

(咨询特价).4 类型擦除和泛型特性的

266

(咨询特价).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

(咨询特价) BufferedReader类 309

(咨询特价).1 BufferedReader类基础 309

(咨询特价).2 使用BufferedReader类 310

(咨询特价) Scanner类 311

(咨询特价).1 Scanner类基础 311

(咨询特价).2 使用Scanner类 312

(咨询特价) 数据操作流 314

(咨询特价).1 DataOutputStream类 314

(咨询特价).2 DataInputStream类 315

(咨询特价) 合并流 316

(咨询特价) 压缩流 317

(咨询特价).1 ZIP压缩输入/输出流

简介 317

(咨询特价).2 ZipOutputStream类 317

(咨询特价).3 ZipFile类 320

(咨询特价).4 ZipInputStream类 321

(咨询特价) 回退流 321

(咨询特价) 字符编码 322

(咨询特价).1 得到本机的编码显示 323

(咨询特价).2 产生乱码 323

(咨询特价) 对象序列化 324

(咨询特价).1 Serializable接口 324

(咨询特价).2 对象输出流

ObjectOutputStream 324

(咨询特价).3 对象输入流

ObjectInputStream 325

(咨询特价).4 Externalizable接口 326

(咨询特价).5 关键字transient 327

(咨询特价).6 序列化一组对象 328

(咨询特价) 新增的I/O 329

(咨询特价).1 新I/O概述 329

(咨询特价).2 使用Buffer 330

(咨询特价).3 使用Channel 332

(咨询特价) 技术解惑 334

(咨询特价).1 使用File.separator表示

分隔符 334

(咨询特价).2 综合演练创建和删除文件

的操作 334

(咨询特价).3 File类的复杂用法 335

(咨询特价).4 字节流和字符流的区别 335

(咨询特价).5 System.err和System.out

选择 337

(咨询特价).6 使用I/O实现一个简单的

菜单效果 337

(咨询特价).7 对象序列化和对象反序列

化操作时的版本兼容性

问题 339

(咨询特价).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

内容简介.jpg

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

本书不但适用于Java的初学者,也适用于有一定Java基础的读者,还可以作为大专院校相关专业的师生学习用书和培训学校的教材。

热门设计服务