网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 Java开发从入门到精通
分类 人文社科-社会科学-语言文字
作者 扶松柏,叶维中
出版社 人民邮电出版社
下载
简介
作者简介
 
目录
章计算机基础和Java开发入门1
1.1计算机基础2
1.1.1中央处理器2
1.1.2比特和字节2
1.1.3二进制3
1.1.4编码格式3
1.2初识Java4
1.2.1何谓Java4
1.2.2Java的特点5
1.2.3Java的地位5
1.3技术解惑6
1.3.1对初学者的建议6
1.3.2理解Java的垃圾回收机制6
1.3.3充分利用JavaAPI文档7
1.4课后练习7
第2章段Java程序8
2.1搭建Java开发环境9
2.1.1安装JDK9
2.1.2配置开发环境—Windows711
2.1.3配置开发环境—Windows1011
2.2编写段Java程序13
2.2.1段Java代码13
2.2.2关键字13
2.2.3标识符14
2.2.4注释14
2.2.5main()方法15
2.2.6控制台的输入和输出15
2.3编译并运行Java程序15
2.3.1编译Java程序15
2.3.2运行Java程序16
2.3.3Java11新特性:新的程序运行方式16
2.4使用IDE工具—Eclipse17
2.4.1Eclipse17
2.4.2获得并安装Eclipse17
2.4.3新建一个Eclipse项目20
2.4.4编译并运行Eclipse项目23
2.4.5使用Eclipse打开一个Java项目24
2.5Java的运行机制25
2.5.1编译型/解释型语言的运行机制25
2.5.2Java程序则要先编译、后运行25
2.6技术解惑26
2.6.1遵循Java源文件的命名规则26
2.6.2忽视系统文件的扩展名26
2.6.3环境变量的问题26
2.6.4大小写的问题27
2.6.5main()方法的问题27
2.6.6注意空格问题27
2.6.7到底用不用IDE工具27
2.6.8区分JRE和JDK28
2.7课后练习28
第3章Java语法基础29
3.1常量和变量30
3.1.1常量30
3.1.2变量31
3.2数据类型33
3.2.1为什么要使用数据类型33
3.2.2简单数据类型的取值范围34
3.2.3字符型34
3.2.4整型35
3.2.5浮点型36
3.2.6布尔型37
3.3运算符38
3.3.1算术运算符38
3.3.2关系运算符和逻辑运算符41
3.3.3位逻辑运算符42
3.3.4条件运算符43
3.3.5赋值运算符44
3.3.6运算符的优先级45
3.4字符串46
3.4.1字符串的初始化46
3.4.2String类47
3.4.3StringBuffer类49
3.5类型转换50
3.5.1自动类型转换50
3.5.2强制类型转换51
3.6Java11新特性:新增的String函数51
3.7技术解惑54
3.7.1定义常量时的注意事项54
3.7.2char类型中单引号的意义54
3.7.3正无穷和负无穷的问题55
3.7.4移位运算符的限制55
3.8课后练习55
第4章条件语句56
4.1if语句详解57
4.1.1if语句57
4.1.2if语句的延伸58
4.1.3有多个条件判断的if语句59
4.2switch语句详解60
4.2.1switch语句的形式61
4.2.2无break的情况62
4.2.3case语句后没有执行语句62
4.2.4default可以不在末尾63
4.3条件语句演练64
4.3.1正确使用switch语句64
4.3.2正确使用if语句64
4.3.3switch语句的执行顺序65
4.4技术解惑66
4.4.1if…else语句的意义66
4.4.2使用switch语句时的几个注意事项67
4.4.3switch语句和if…elseif语句的选择68
4.5课后练习68
第5章循环语句69
5.1循环语句70
5.1.1for循环70
5.1.2while循环语句72
5.1.3do…while循环语句73
5.2跳转语句74
5.2.1break语句的应用74
5.2.2return语句的应用76
5.2.3continue语句77
5.3技术解惑77
5.3.1使用for循环的技巧77
5.3.2跳转语句的选择技巧78
5.4课后练习79
第6章数组80
6.1简单的一维数组81
6.1.1声明一维数组81
6.1.2创建一维数组81
6.1.3初始化一维数组82
6.2二维数组83
6.2.1声明二维数组83
6.2.2创建二维数组83
6.2.3初始化二维数组84
6.3三维数组85
6.3.1声明三维数组86
6.3.2创建三维数组的方法86
6.3.3初始化三维数组86
6.4操作数组87
6.4.1复制数组87
6.4.2比较数组87
6.4.3排序数组88
6.4.4搜索数组中的元素89
6.4.5填充数组89
6.4.6遍历数组90
6.5技术解惑90
6.5.1动态初始化数组的规则90
6.5.2引用类型91
6.5.3数组的初始化91
6.6课后练习91
第7章Java的面向对象(上)93
7.1面向对象的基础94
7.1.1面向对象的定义94
7.1.2Java的面向对象编程94
7.1.3一切皆为对象94
7.1.4Java面向对象的几个核心概念95
7.2创建类96
7.2.1定义类96
7.2.2定义属性97
7.2.3定义方法97
7.2.4定义构造器98
7.3修饰符98
7.3.1public修饰符98
7.3.2private修饰符99
7.3.3protected修饰符100
7.3.4其他修饰符100
7.4方法详解101
7.4.1方法与函数的关系101
7.4.2传递方法参数102
7.4.3长度可变的方法102
7.4.4不使用void关键字构造方法名103
7.4.5递归方法104
7.5使用this105
7.6使用类和对象105
7.6.1创建和使用对象106
7.6.2使用静态变量和静态方法106
7.7抽象类和抽象方法107
7.7.1抽象类和抽象方法的基础107
7.7.2抽象类必须有一个抽象方法108
7.7.3抽象类的作用109
7.8软件包110
7.8.1软件包的定义110
7.8.2在Eclipse中定义软件包110
7.8.3在程序里插入软件包111
7.9技术解惑112
7.9.1在Java中传递引用类型的实质112
7.9.2掌握this的好处113
7.9.3推出抽象方法的原因114
7.9.4使用抽象类的时机114
7.9.5static修饰的作用115
7.9.6数组内是同一类型的数据115
7.10课后练习115
第8章Java的面向对象(中)116
8.1类的继承117
8.1.1继承的定义117
8.1.2父类和子类117
8.1.3调用父类的构造方法118
8.1.4访问父类的属性和方法119
8.1.5多重继承120
8.1.6重写父类的方法121
8.2重写和重载122
8.2.1重写122
8.2.2重载124
8.3隐藏和封装125
8.3.1Java中的封装125
8.3.2访问控制符125
8.3.3Java中的包127
8.3.4import129
8.4接口129
8.4.1定义接口129
8.4.2接口里的常量和方法130
8.4.3引用接口132
8.4.4接口间的继承134
8.4.5接口的私有方法134
8.5技术解惑137
8.5.1重写方法的注意事项137
8.5.2重写和重载的区别138
8.5.3举例理解类的意义138
8.5.4Java包的一些规则138
8.5.5探讨package和import机制138
8.5.6接口编程的机理139
8.5.7接口和抽象类的区别和联系140
8.6课后练习141
第9章Java的面向对象(下)142
9.1构造器详解143
9.1.1初始化构造器143
9.1.2构造器重载143
9.1.3调用父类构造器144
9.2多态145
9.2.1多态的定义145
9.2.2演示Java中的多态147
9.2.3使用instanceof运算符148
9.3引用类型149
9.3.14种引用类型150
9.3.2引用变量的强制类型转换151
9.4组合152
9.5初始化块154
9.5.1初始化块概述154
9.5.2静态初始化块155
9.6包装类156
9.7final修饰符157
9.7.1用final修饰变量158
9.7.2final方法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.9匿名类163
9.9.1定义匿名类164
9.9.2匿名内部类164
9.9.3匿名内部类使用final形参165
9.10枚举类166
9.10.1枚举类的方法166
9.10.2模拟枚举类167
9.10.3枚举类型168
9.11Java11新特性:嵌套访问控制170
9.12技术解惑172
9.12.1构造器和方法的区别172
9.12.2this在构造器中的作用173
9.12.3子类构造器调用父类构造器的情况173
9.12.4强制类型转换的局限性174
9.12.5继承和组合的选择174
9.12.6发生异常的原因174
9.12.7用final修饰基本类型和引用类型变量之间的区别174
9.12.8类的4种权限174
9.12.9手工实现枚举类的缺点175
9.13课后练习175
0章集合176
10.1Java中的集合类177
10.2Collection接口和Iterator接口178
10.2.1Collection接口概述178
10.2.2Iterator接口概述179
10.2.3使用Collection接口中的方法来操作集合里的元素179
10.3Set接口180
10.3.1Set接口概述180
10.3.2使用HashSet183
10.3.3使用TreeSet类184
10.3.4使用EnumSet类186
10.4List接口188
10.4.1List接口概述188
10.4.2根据索引操作集合内的元素190
10.4.3使用ArrayList和Vector类191
10.5Map接口192
10.5.1Map接口中的方法192
10.5.2Map接口中的接口和类193
10.5.3使用HashMap和Hashtable实现类196
10.5.4使用SortedMap接口和TreeMap实现类197
10.5.5使用WeakHashMap类199
10.5.6使用IdentityHashMap类200
10.5.7使用EnumMap类201
10.6Queue接口201
10.6.1LinkedList类202
10.6.2PriorityQueue类203
10.7集合工具类Collections203
10.7.1排序操作203
10.7.2查找和替换操作204
10.8其他集合类205
10.8.1Stack类205
10.8.2属性类Properties206
10.9创建不可变的List、Set和Map(Java9新增功能)209
10.9.1Java9以前版本的解决方案209
10.9.2Java9版本的解决方案209
10.10使用var类型推断(Java10新增功能)211
10.11技术解惑212
10.11.1Collection集合元素的改变问题212
10.11.2深入理解HashSet212
10.11.3使用类EnumSet的注意事项213
10.11.4ArrayList和Vector的区别213
10.11.5TreeMap判断两个元素相等的标准213
10.11.6分析Map类的性能213
10.11.7LinkedList、ArrayList、Vector的性能问题214
10.11.8用swap()方法交换集合中两个位置的内容214
10.12课后练习214
1章常用的类库215
11.1StringBuffer类216
11.1.1StringBuffer类概述216
11.1.2使用StringBuffer类216
11.2Runtime类218
11.2.1Runtime类概述218
11.2.2使用Runtime类218
11.3程序国际化220
11.3.1国际化基础220
11.3.2Locale类221
11.3.3ResourceBundle类221
11.3.4处理动态文本222
11.3.5使用类代替资源文件223
11.4System类224
11.4.1使用System类224
11.4.2垃圾对象的回收225
11.5Date类225
11.5.1使用Date类226
11.5.2使用Calendar类226
11.5.3使用DateFormat类227
11.5.4使用SimpleDateFormat类228
11.6Math类229
11.7Random类230
11.8NumberFormat类231
11.9BigInteger类232
11.10BigDecimal类233
11.11复制对象235
11.12Arrays类235
11.13Comparable接口236
11.13.1Comparable接口概述236
11.13.2使用Comparable接口238
11.13.3使用Comparator接口238
11.14Observable类和Observer接口239
11.15正则表达式241
11.15.1正则表达式概述241
11.15.2Java中的正则表达式类242
11.15.3使用Pattern类和Matcher类243
11.15.4String类和正则表达式243
11.15.5Java9新增的正则表达式方法244
11.15.6Java11新特性:正则表达式参数的局部变量语法245
11.16Timer类和TimerTask类245
11.16.1Timer类246
11.16.2TimerTask类246
11.17技术解惑247
11.17.1StringBuffer和String的异同247
11.17.2通过System类获取本机的全部环境属性247
11.17.3分析对象的生命周期248
11.17.4若未实现Comparable接口会出现异常248
11.17.5正则表达式的好处248
11.18课后练习249
2章泛型250
12.1泛型概述251
12.1.1泛型的优点251
12.1.2类型检查251
12.1.3使用泛型253
12.2泛型详解253
12.2.1定义泛型接口和类253
12.2.2派生子类254
12.2.3并不存在泛型类255
12.3类型通配符255
12.3.1设置类型实参的上限256
12.3.2设置类型形参的上限257
12.3.3设置通配符的下限258
12.4泛型方法258
12.5泛型接口260
12.6泛型继承261
12.6.1以泛型类为父类261
12.6.2以非泛型类为父类262
12.7强制类型转换263
12.8擦除263
12.8.1擦除的定义263
12.8.2擦除带来的问题265
12.9技术解惑266
12.9.1Java语言中泛型的本质266
12.9.2泛型方法和类型通配符的区别267
12.9.3泛型类的继承规则268
12.9.4类型擦除和泛型特性之间的联系268
12.9.5使用原则和注意事项268
12.10课后练习268
3章异常处理270
13.1异常概述271
13.1.1认识异常271
13.1.2Java提供的异常处理类271
13.2异常处理方式272
13.2.1try…catch语句272
13.2.2处理多个异常273
13.2.3finally语句274
13.2.4访问异常信息275
13.3抛出异常276
13.3.1使用throws抛出异常276
13.3.2使用throw抛出异常278
13.4自定义异常279
13.4.1Throwable类及其子类279
13.4.2使用Throwable类自定义异常281
13.5Checked异常和Runtime异常的区别282
13.5.1机制上的差异282
13.5.2逻辑上的差异283
13.6技术解惑283
13.6.1使用嵌套异常处理是更合理的方法283
13.6.2区别throws关键字和throw关键字284
13.6.3异常类的继承关系284
13.6.4子类Error和Exception284
13.7课后练习284
4章I/O文件处理和流处理285
14.1JavaI/O概述286
14.2File类286
14.2.1File类中的方法286
14.2.2使用File类操作文件287
14.3RandomAccessFile类290
14.3.1RandomAccessFile类的常用方法290
14.3.2使用RandomAccessFile类291
14.4字节流与字符流292
14.4.1字节流类和字符流类292
14.4.2使用字节流292
14.4.3使用字符流296
14.5字节转换流299
14.6内存操作流299
14.7管道流301
14.8打印流302
14.8.1打印流概述302
14.8.2使用打印流303
14.9System类303
14.9.1System.out304
14.9.2System.err304
14.9.3System.in305
14.9.4输入/输出重定向305
14.10BufferedReader类307
14.10.1BufferedReader类概述307
14.10.2使用BufferedReader类308
14.11Scanner类309
14.11.1Scanner类概述310
14.11.2使用Scanner类310
14.12数据操作流312
14.12.1DataOutputStream类313
14.12.2DataInputStream类313
14.13合并流315
14.14压缩流316
14.14.1ZIP压缩输入/输出流概述316
14.14.2ZipOutputStream类316
14.14.3ZipFile类319
14.14.4ZipInputStream类319
14.15回退流320
14.16字符编码321
14.16.1得到本机编码322
14.16.2产生乱码322
14.17对象序列化323
14.17.1Serializable接口323
14.17.2对象输出流ObjectOutputStream324
14.17.3对象输入流ObjectInputStream324
14.17.4Externalizable接口325
14.17.5关键字transient326
14.17.6序列化一组对象327
14.18Buffer类328
14.18.1Buffer类中的主要方法329
14.18.2使用Buffer类330
14.19Channel类331
14.20使用流API333
14.20.1Java8中的流333
14.20.2Java9中新增的Stream335
14.21使用try…with…resources语句337
14.21.1try…with…resources语句概述337
14.21.2try…with…resources的改进(Java9新增功能)338
14.22技术解惑341
14.22.1使用File.separator表示分隔符341
14.22.2综合演练创建和删除文件341
14.22.3File类的复杂用法342
14.22.4字节流和字符流的区别342
14.22.5System.err和System.out的选择344
14.22.6使用I/O实现一个简单的菜单效果344
14.22.7对象序列化和对象反序列化操作时的版本兼容性问题345
14.22.8不能让所有的类都实现Serializable接口346
14.23课后练习346
5章AWT的奇幻世界347
15.1GUI框架概述348
15.1.1AWT框架348
15.1.2Swing框架348
15.1.3JavaFX框架348
15.2AWT框架的结构349
15.3容器350
15.3.1容器概述350
15.3.2容器中的常用组件351
15.4布局管理器352
15.4.1FlowLayout布局353
15.4.2BorderLayout布局353
15.4.3GridLayout布局355
15.4.4GridBagLayout布局356
15.4.5CardLayout布局356
15.4.6BoxLayout布局管理器357
15.5AWT中的常用组件357
15.5.1AWT组件概览358
15.5.2使用组件358
15.6AWT中的对话框360
15.6.1AWT对话框概述360
15.6.2使用AWT对话框360
15.7使用图像多分辨率API361
15.7.1图像多分辨率概述361
15.7.2图像多分辨率API详解361
15.7.3图像多分辨率API实战362
15.8javax.imageio.plugins.tiff364
15.8.1ImageIO模块概述364
15.8.2TIFF接口366
15.9技术解惑367
15.9.1使用绝对定位367
15.9.2对事件处理模型的简化368
15.9.3使用AWT开发动画368
15.9.4图片缩放在现实中的意义368
15.9.5AWT和Swing是窗体编程的两个主角368
15.9.6AWT中的菜单组件不能创建图标菜单368
15.9.7Java的事件模型368
15.9.8事件和事件监听器370
15.10课后练习372
6章Swing373
16.1Swing概述374
16.2Swing的组件375
16.2.1Swing组件的层次结构375
16.2.2Swing实现AWT组件376
16.3拖放处理380
16.4实现进度条效果381
16.4.1创建一个进度条381
16.4.2使用ProgressMonitor创建进度条对话框383
16.5技术解惑383
16.5.1贯穿Java开发的MVC模式383
16.5.2Swing的优势383
16.5.3使用JSlider和BoundedRangeModel测试滑动条效果384
16.5.4使用ListCellRenderer改变窗体中列表项的外观385
16.6课后练习385
7章JavaFX开发基础386
17.1JavaFX概述387
17.1.1JavaFX的特色387
17.1.2安装e(fx)clipse插件387
17.1.3认识个JavaFX程序389
17.2JavaFX界面结构389
17.2.1窗体结构剖析389
17.2.2属性绑定391
17.2.3样式属性和角度属性392
17.3使用Color类设置颜色393
17.3.1设置颜色的方法393
17.3.2使用RGB方式设置颜色395
17.3.3使用Web方式设置颜色395
17.4绘制文字396
17.4.1Text包概述396
17.4.2绘制指定样式的文本397
17.5绘制形状398
17.5.1使用Line绘制线条398
17.5.2使用Rectangle绘制矩形399
17.5.3使用Circle绘制圆401
17.5.4使用Ellipse绘制椭圆402
17.5.5使用Arc绘制圆弧403
17.5.6使用Polygon绘制多边形404
17.5.7使用Polyline绘制折线405
17.5.8使用CubicCurve绘制三次曲线406
17.5.9使用QuadCurve绘制二次曲线407
17.6显示图像408
17.6.1使用Image显示图像408
17.6.2使用ImageView显示图像409
17.7界面布局410
17.7.1使用Pane的画布功能411
17.7.2使用StackPane实现特定面板功能412
17.7.3使用FlowPane实现序列放置412
17.7.4使用GridPane实现网格布局414
17.7.5使用BorderPane实现区域布局415
17.7.6使用HBox实现水平布局417
17.7.7使用VBox实现垂直布局418
17.8技术解惑419
17.8.1Swing、AWT和JavaFX的区别419
17.8.2JavaFX的属性类型419
17.9课后练习420
8章使用JavaFXUI组件421
18.1使用标签组件422
18.1.1标签属性和方法422
18.1.2标签组件实战演练423
18.2使用按钮组件424
18.2.1按钮属性和方法424
18.2.2按钮组件实战演练425
18.3使用复选框组件426
18.3.1复选框属性和方法426
18.3.2复选框组件实战演练427
18.4使用单选按钮组件428
18.4.1单选按钮属性和方法428
18.4.2单选按钮组件实战演练429
18.5使用文本框组件430
18.5.1文本框的属性和方法430
18.5.2文本框组件实战演练431
18.6使用文本域组件432
18.6.1文本域的属性和方法432
18.6.2文本域组件实战演练432
18.7使用选择框组件434
18.7.1选择框的属性和方法434
18.7.2选择框组件实战演练434
18.8使用密码框组件435
18.8.1密码框的属性和方法435
18.8.2密码框组件实战演练436
18.9使用组合框组件437
18.9.1组合框的属性和方法437
18.9.2组合框实战演练438
18.10使用列表视图组件439
18.10.1列表视图的属性和方法439
18.10.2列表视图组件实战演练440
18.11使用滚动条组件442
18.11.1滚动条的属性和方法442
18.11.2滚动条组件实战演练442
18.12使用滑块组件444
18.12.1滑块的属性和方法444
18.12.2滑块组件实战演连445
18.13使用树视图组件446
18.13.1树视图的属性和方法446
18.13.2树视图组件实战演练447
18.14使用进度组件448
18.14.1进度指示器448
18.14.2进度条448
18.14.3进度组件实战演练448
18.15使用HTML编辑器组件449
18.15.1HTML编辑器组件概述450
18.15.2HTML编辑器组件实战演练450
18.16使用菜单组件451
18.16.1菜单组件概述451
18.16.2创建菜单栏452
18.17使用文件选择框组件453
18.17.1文件选择框概述453
18.17.2文件选择框组件实战演练454
18.18使用颜色选择器组件456
18.18.1颜色选择器概述456
18.18.2颜色选择器组件实战演练458
18.19技术解惑459
18.19.1制作圆形按钮459
18.19.2设置按钮的内容460
18.19.3树表视图460
18.20课后练习460
9章JavaFX事件处理程序461
19.1JavaFX事件处理系统概述462
19.1.1Java的事件模型462
19.1.2JavaFX中的事件462
19.1.3事件处理机制的流程463
19.1.4事件处理465
19.1.5事件和事件源465
19.2使用快捷方法实现事件处理467
19.2.1快捷方法概述467
19.2.2处理按钮事件468
19.3处理鼠标事件469
19.3.1鼠标事件概述469
19.3.2使用鼠标事件469
19.4处理键盘事件470
19.4.1键盘事件概述470
19.4.2使用键盘事件471
19.5使用事件过滤器472
19.5.1注册和移除事件过滤器472
19.5.2使用事件过滤器473
19.6使用事件处理程序475
19.6.1注册和移除事件处理程序475
19.6.2使用事件处理程序476
19.7使用可触摸设备的事件477
19.7.1手势和触摸事件477
19.7.2手势事件实战478
19.8技术解惑483
19.8.1实现鼠标移到按钮上按钮变大的效果483
19.8.2实现JavaFX绑定483
19.9课后练习483
第20章JavaFX框架下的Web开发484
20.1JavaFX内嵌浏览器概述485
20.2使用WebView组件486
20.2.1WebView组件概述486
20.2.2WebView组件实战演练487
20.3使用WebEngine接口488
20.3.1WebEngine概述488
20.3.2在JavaFX中执行JavaScript程序489
20.3.3在Web页面中调用JavaFX程序492
20.3.4实现弹出式窗口493
20.4管理Web历史记录495
20.4.1WebHistory概述495
20.4.2网页浏览历史记录实战495
20.5使用CSS文件496
20.6使用FXML499
20.6.1FXML概述499
20.6.2FXML实战演练500
20.7技术解惑504
20.7.1JavaFX集合504
20.7.2使用标题面板505
20.8课后练习505
第21章JavaFX框架下的多媒体开发506
21.1变换操作507
21.1.1变换概述507
21.1.2变换操作507
21.2动画效果510
21.2.1过渡动画510
21.2.2时间轴动画512
21.3视觉特效514
21.3.1混合特效514
21.3.2发光特效515
21.3.3模糊特效517
21.3.4阴影特效519
21.3.5内阴影特效520
21.3.6倒影特效522
21.3.7光照特效523
21.43D特效524
21.4.1JavaFX3D概述524
21.4.2使用3D形状524
21.4.33D镜头525
21.4.4使用子场景527
21.4.5使用光照529
21.4.6使用材质530
21.5音频和视频532
21.5.1使用Media获取获得媒体源532
21.5.2使用MediaPlayer播放并控制媒体532
21.5.3使用MediaView显示视频533
21.5.4控制播放的视频演练533
21.6CSSAPI(Java9新增功能)535
21.6.1使用传统方式535
21.6.2使用SkinAPI536
21.7技术解惑538
21.7.1注册一个事件处理程序538
21.7.2注意场景背景图的问题539
21.7.3y-down坐标系和y-up坐标系539
21.8课后练习539
第22章数据库编程540
22.1SQL基础541
22.1.1数据定义541
22.1.2数据操纵542
22.2初识JDBC544
22.2.1JDBCAPI544
22.2.2JDBC驱动类型544
22.2.3JDBC的常用接口和类545
22.2.4JDBC编程的一般步骤547
22.3连接Access数据库549
22.3.1Access数据库概述549
22.3.2连接本地Access数据库550
22.4连接SQLServer数据库552
22.4.1下载并安装SQLSever2016驱动552
22.4.2测试连接553
22.4.3获取SQLServer数据库中指定的表554
22.5连接MySQL数据库555
22.5.1下载并配置MySQL驱动555
22.5.2将MySQL驱动加载到Eclipse中556
22.5.3测试连接557
22.6技术解惑557
22.6.1连接池的功效557
22.6.2服务器自带连接池的问题557
22.6.3连接池模型559
22.6.4数据模型、概念模型和关系数据模型559
22.6.5数据库系统的结构560
22.7课后练习560
第23章网络与通信编程561
23.1Java中的网络包562
23.1.1InetAddress类562
23.1.2URLDecoder类和URLEncoder类562
23.1.3URL类和URLConnection类563
23.1.4实践演练564
23.2TCP编程567
23.2.1使用ServerSocket567
23.2.2使用Socket568
23.2.3TCP中的多线程569
23.3UDP编程572
23.3.1使用DatagramSocket572
23.3.2使用MulticastSocket574
23.4代理服务器577
23.4.1代理服务器概述577
23.4.2使用Proxy创建连接578
23.4.3使用ProxySelector选择代理服务器579
23.5HTTP/2ClientAPI(Java10的改进)581
23.5.1孵化器模块usergrid概述581
23.5.2HTTP/2ClientAPI概述582
23.5.3处理HTTP请求582
23.6技术解惑584
23.6.1使用异常处理完善程序584
23.6.2使用ServerSocketChannel的弊端584
23.6.3体会复杂的DatagramPacket585
23.6.4MulticastSocket类的重要意义585
23.6.5继承ProxySelector时需要做的工作585
23.6.6代理服务无止境585
23.6.7生成jdk.incubator.httpclient模块的Javadoc586
23.7课后练习586
第24章多线程和进程587
24.1线程概述588
24.1.1线程与进程588
24.1.2线程的意义588
24.1.3Java的线程模型589
24.2创建线程590
24.2.1使用Thread类创建线程590
24.2.2使用Runnable接口创建线程592
24.2.3使用Thread.onSpinWait()方法实现循环等待593
24.3线程的生命周期594
24.3.1线程的运行与停止594
24.3.2线程的挂起和唤醒595
24.3.3终止线程的3种方法596
24.3.4线程的阻塞597
24.3.5线程的死亡597
24.4控制线程598
24.4.1使用join方法599
24.4.2慎重使用volatile关键字599
24.4.3后台、让步和睡眠602
24.5线程传递数据603
24.5.1向线程传递数据的方法603
24.5.2线程中返回数据的方法605
24.6进程606
24.6.1使用类ProcessBuilder606
24.6.2使用类Process609
24.6.3使用类ProcessHandle(Java9新增功能)609
24.7技术解惑612
24.7.1线程和函数的关系612
24.7.2在run方法中使用线程名时产生的问题612
24.7.3继承Thread类或实现Runnable接口的比较612
24.7.4start()和run()的区别613
24.7.5使用sleep()方法的注意事项613
24.7.6线程的优先级613
24.7.7如何确定发生死锁613
24.7.8关键字synchronized和volatile的区别614
24.7.9sleep()方法和yield()方法的区别614
24.7.10分析Swing的多线程死锁问题614
24.8课后练习615
第25章大数据综合实战:爬取并分析知乎用户信息616
25.1系统设计617
25.1.1系统目标617
25.1.2系统功能结构617
25.2数据库设计618
25.3知乎爬虫请求分析618
25.4系统文件夹组织结构621
25.5系统详细运行流程图622
25.6具体编码623
25.6.1核心模块代码的编写623
25.6.2知乎抓取功能模块629
25.6.3代理功能模块637
25.7知乎用户大数据分析645
25.7.1数据展示模块645
25.7.2运行展示646
25.8项目开发难点分析648
内容推荐
本书专门介绍Java编程,主要内容包括:Java基础知识、Java语法基础、条件语句、循环语句、数组、Java面向对象编程、集合、常用的类库、泛型、异常处理、I/O文件处理和流程、AWT、Swing、JavaFX基础知识、UI组件、事件处理程序、基于JavaFX框架的Web和多媒体开发、数据库编程
随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/3/25 10:49:45