图书介绍
写给大忙人的Java SE 9核心技术PDF|Epub|txt|kindle电子书版本下载
![写给大忙人的Java SE 9核心技术](https://www.shukui.net/cover/16/31309172.jpg)
- (美)Cay S· Horstmann 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121342783
- 出版时间:2018
- 标注页数:526页
- 文件大小:44MB
- 文件页数:552页
- 主题词:JAVA语言-程序设计
PDF下载
下载说明
写给大忙人的Java SE 9核心技术PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 基本的编程结构1
1.1第一个程序2
1.1.1“Hello,World!”程序解析2
1.1.2编译与运行Java程序3
1.1.3方法调用5
1.1.4JShell7
1.2基本类型11
1.2.1有符号整型11
1.2.2浮点类型12
1.2.3char型13
1.2.4布尔型14
1.3变量14
1.3.1变量的声明14
1.3.2名称14
1.3.3初始化15
1.3.4常量15
1.4算术操作17
1.4.1赋值18
1.4.2基本运算18
1.4.3数学方法20
1.4.4数字类型转换21
1.4.5关系操作符和逻辑操作符22
1.4.6大数24
1.5字符串24
1.5.1字符串的连接25
1.5.2子字符串26
1.5.3字符串比较26
1.5.4数字与字符串转换28
1.5.5String类API29
1.5.6编码点和编码单元31
1.6输入与输出33
1.6.1读取输入33
1.6.2格式化输出35
1.7控制流37
1.7.1分支37
1.7.2循环39
1.7.3跳出循环与继续循环41
1.7.4局部变量作用域43
1.8数组和数组列表44
1.8.1使用数组44
1.8.2构造数组45
1.8.3数组列表47
1.8.4基本类型包装类48
1.8.5增强的for循环48
1.8.6数组与数组列表的复制49
1.8.7数组算法50
1.8.8命令行参数51
1.8.9多维数组52
1.9功能分解55
1.9.1静态方法的声明与调用55
1.9.2数组参数与返回值55
1.9.3可变参数56
练习57
第2章 面向对象编程61
2.1使用对象62
2.1.1访问器方法和修改器方法64
2.1.2对象引用65
2.2实现类67
2.2.1实例变量67
2.2.2方法头67
2.2.3方法体68
2.2.4实例方法调用69
2.2.5this引用69
2.2.6值调用70
2.3构造对象72
2.3.1实现构造函数72
2.3.2重载73
2.3.3调用另一个构造函数74
2.3.4默认初始化74
2.3.5实例变量的初始化75
2.3.6final实例变量76
2.3.7无参构造函数76
2.4静态变量和方法77
2.4.1静态变量77
2.4.2静态常量78
2.4.3静态初始块79
2.4.4静态方法80
2.4.5工厂方法81
2.5包82
2.5.1包的声明82
2.5.2jar命令83
2.5.3类路径84
2.5.4包访问权限86
2.5.5导入类87
2.5.6静态导入88
2.6嵌套类89
2.6.1静态嵌套类89
2.6.2内部类91
2.6.3内部类的特殊语法93
2.7文档注释95
2.7.1插入注释95
2.7.2类注释96
2.7.3方法注释97
2.7.4变量注释97
2.7.5通用注释98
2.7.6链接98
2.7.7包、模块和概述注释99
2.7.8注释的提取99
练习100
第3章 接口和lambda表达式105
3.1接口106
3.1.1声明接口106
3.1.2实现接口107
3.1.3转换为接口类型109
3.1.4强制类型转换和instanceof操作符109
3.1.5继承接口110
3.1.6实现多个接口111
3.1.7常量111
3.2静态方法、默认方法和私有方法112
3.2.1静态方法112
3.2.2默认方法112
3.2.3解决默认方法冲突的问题113
3.2.4私有方法115
3.3接口示例115
3.3.1Comparable接口115
3.3.2Comparator接口117
3.3.3Runnable接口118
3.3.4UI回调119
3.4lambda表达式120
3.4.1lambda表达式语法121
3.4.2函数式接口122
3.5方法引用和构造函数引用123
3.5.1方法引用123
3.5.2构造函数引用125
3.6使用lambda表达式126
3.6.1实现延迟执行126
3.6.2选择函数式接口127
3.6.3实现自己的函数式接口129
3.7lambda表达式和变量作用域130
3.7.1lambda表达式的作用域130
3.7.2访问来自闭合作用域的变量131
3.8高阶函数133
3.8.1返回函数的方法134
3.8.2修改函数的方法134
3.8.3Comparator方法135
3.9局部类和匿名类136
3.9.1局部类136
3.9.2匿名类137
练习138
第4章 继承与反射143
4.1继承一个类144
4.1.1父类与子类144
4.1.2定义和继承子类方法145
4.1.3方法覆盖145
4.1.4子类的构造147
4.1.5父类赋值147
4.1.6转换148
4.1.7final方法和类149
4.1.8抽象方法和类149
4.1.9受保护访问150
4.1.10匿名子类151
4.1.11继承和默认方法152
4.1.12带super的方法表达式153
4.2Object:终极父类153
4.2.1toString方法154
4.2.2equals方法156
4.2.3hashCode方法159
4.2.4克隆对象160
4.3枚举163
4.3.1枚举方法164
4.3.2构造函数、方法和域165
4.3.3实例的实现体165
4.3.4静态成员166
4.3.5switch枚举对象167
4.4运行时类型信息和资源168
4.4.1Class类168
4.4.2资源加载172
4.4.3类加载器172
4.4.4上下文类加载器174
4.4.5服务加载器176
4.5反射178
4.5.1枚举类成员178
4.5.2对象检查179
4.5.3方法调用180
4.5.4对象构造181
4.5.5JavaBeans182
4.5.6使用数组183
4.5.7代理185
练习187
第5章 异常、断言和日志处理191
5.1异常处理192
5.1.1异常抛出192
5.1.2异常继承层次193
5.1.3已检查异常的声明195
5.1.4异常捕获196
5.1.5try-with-resources语句197
5.1.6finally子句199
5.1.7异常重抛和链接200
5.1.8未捕获的异常和堆栈踪迹202
5.1.9Objects.requireNonNull方法203
5.2断言204
5.2.1使用断言205
5.2.2启用和禁用断言205
5.3记录日志206
5.3.1采用日志记录器206
5.3.2日志记录器207
5.3.3日志级别207
5.3.4其他日志记录方法208
5.3.5日志记录的配置项210
5.3.6日志处理器211
5.3.7过滤器和格式化器214
练习215
第6章 泛型编程219
6.1泛型类220
6.2泛型方法221
6.3类型限定222
6.4类型变异和通配符223
6.4.1子类型通配符224
6.4.2父类型通配符225
6.4.3带类型变量的通配符226
6.4.4无限定通配符228
6.4.5通配符捕获228
6.5Java虚拟机中的泛型229
6.5.1类型擦除229
6.5.2转换插入230
6.5.3桥方法230
6.6泛型约束232
6.6.1无基本类型参数232
6.6.2所有类型在运行时都是原始的233
6.6.3不能实例化类型变量234
6.6.4不能构造参数化类型的数组236
6.6.5静态上下文中的类类型变量不是有效的237
6.6.6类型擦除后的方法可能不冲突238
6.6.7异常与泛型239
6.7反射与泛型240
6.7.1Class〈T〉类240
6.7.2虚拟机中的泛型类型信息242
练习243
第7章 集合249
7.1集合框架概要249
7.2迭代器254
7.3set256
7.4map257
7.5其他集合261
7.5.1Properties261
7.5.2位组262
7.5.3枚举set和枚举map264
7.5.4栈、队列、双端队列、优先级队列264
7.5.5弱哈希映射表266
7.6视图266
7.6.1小集合267
7.6.2范围268
7.6.3不可修改的视图268
练习269
第8章 Stream273
8.1从迭代到Stream操作274
8.2创建Stream275
8.3filter、map和flatMap方法277
8.4提取子流和组合流279
8.5其他流转换280
8.6简单归约281
8.7Optional类型282
8.7.1如何使用Optional类型值282
8.7.2如何不使用Optional类型值284
8.7.3创建Optional类型值284
8.7.4使用flatMap来组合可选值函数285
8.7.5将Optional转变为流286
8.8收集结果287
8.9将结果收集到map中289
8.10分组和分片290
8.11下游收集器291
8.12归约操作294
8.13基本类型流296
8.14并行流297
练习300
第9章 输入与输出处理305
9.1输入/输出流、Reader和Writer306
9.1.1获取流对象306
9.1.2读取字节307
9.1.3写字节308
9.1.4字符编码308
9.1.5文本输入311
9.1.6文本输出313
9.1.7读/写二进制数据314
9.1.8随机存取文件315
9.1.9内存映射文件315
9.1.10文件锁316
9.2路径、文件和目录317
9.2.1路径317
9.2.2创建文件和目录319
9.2.3复制、移动和删除文件320
9.2.4访问目录内容321
9.2.5ZIP文件系统324
9.3HTTP连接325
9.3.1URLConnection类和HttpURLConnection类326
9.3.2HTTP Client API327
9.4正则表达式330
9.4.1正则表达式概述330
9.4.2找到一个匹配334
9.4.3找到所有匹配335
9.4.4分组336
9.4.5以分隔符号分割337
9.4.6替换匹配结果338
9.4.7标记339
9.5序列化339
9.5.1Serializable接口340
9.5.2瞬态实例变量342
9.5.3readObject和writeobject方法342
9.5.4readResolve和writeReplace方法343
9.5.5版本化345
练习346
第10章 并发编程351
10.1并发任务352
10.1.1运行任务352
10.1.2Future354
10.2异步计算357
10.2.1可完成的Future357
10.2.2组合可完成的Future359
10.2.3UI回调中的长时间运行任务362
10.3线程安全364
10.3.1可见性364
10.3.2竞争条件366
10.3.3安全并发的策略369
10.3.4不可变类369
10.4并行算法370
10.4.1并行流370
10.4.2并行数组操作371
10.5线程安全的数据结构372
10.5.1ConcurrentHashMap373
10.5.2阻塞队列374
10.5.3其他线程安全的数据结构375
10.6原子计数器和累加器376
10.7锁和条件379
10.7.1锁379
10.7.2synchronized关键字380
10.7.3条件等待382
10.8线程385
10.8.1启动线程385
10.8.2线程中断386
10.8.3线程变量388
10.8.4线程的其他属性388
10.9进程389
10.9.1构建进程389
10.9.2运行进程391
10.9.3ProcessHandle392
练习393
第11章 注解401
11.1使用注解402
11.1.1注解元素402
11.1.2多注解和重复注解403
11.1.3注解声明404
11.1.4注解类型用途405
11.1.5明确接收者406
11.2定义注解408
11.3标准注解410
11.3.1编译相关的注解411
11.3.2资源管理相关的注解412
11.3.3元注解412
11.4运行时注解处理414
11.5源码级注解处理418
11.5.1注解处理器418
11.5.2语言模型API419
11.5.3使用注解生成源码419
练习423
第12章 日期和时间API427
12.1时间线428
12.2本地日期430
12.3日期调整器433
12.4本地时间435
12.5时区时间436
12.6格式化和解析439
12.7应对遗留代码442
练习443
第13章 国际化447
13.1本地化448
13.1.1指定本地化448
13.1.2默认的locale451
13.1.3显示名称452
13.2数字格式化453
13.3货币符号454
13.4日期和时间格式化455
13.5排序和规范化457
13.6消息格式化459
13.7资源束461
13.7.1组织资源束462
13.7.2资源束类464
13.8字符编码465
13.9首选项466
练习468
第14章 编译与脚本471
14.1编译器API471
14.1.1调用编译器472
14.1.2启动编译任务472
14.1.3从内存读取源文件473
14.1.4向内存写入字节码474
14.1.5捕获诊断信息476
14.2脚本API476
14.2.1获取脚本引擎476
14.2.2绑定477
14.2.3重定向输入与输出478
14.2.4调用脚本函数和方法479
14.2.5编译脚本480
14.3Nashom脚本引擎481
14.3.1从命令行运行Nashom481
14.3.2调用getter、setter和重载方法482
14.3.3构造Java对象483
14.3.4JavaScript和Java中的字符串485
14.3.5数字485
14.3.6使用数组486
14.3.7列表与映射487
14.3.8lambda表达式488
14.3.9继承Java类与实现Java接口489
14.3.10异常491
14.4shell脚本与Nashorn491
14.4.1执行shell命令492
14.4.2字符串插值492
14.4.3脚本输入493
练习494
第15章 Java平台模块系统499
15.1模块的概念500
15.2模块命名501
15.3模块化“Hello,World!”程序502
15.4引入模块504
15.5导出包506
15.6模块化和反射访问510
15.7模块化的JAR513
15.8自动模块和未命名模块515
15.9用于迁移的命令行标识516
15.10传递和静态引入518
15.11限定导入和打开520
15.12服务加载521
15.13模块化用的工具522
练习525