OnJava 进阶卷 中文版
全新正版 极速发货
¥
50.34
3.9折
¥
129.8
全新
库存33件
作者(美)布鲁斯·埃克尔
出版社人民邮电出版社
ISBN9787115585028
出版时间2022-03
装帧精装
开本16开
定价129.8元
货号1202610456
上书时间2024-07-02
商品详情
- 品相描述:全新
- 商品描述
-
目录
第1章枚举类型001
1.1枚举类型的基本特性/001
静态导入枚举类型/002
1.2在枚举类型中增加自定义方法/003
重载枚举类型中的方法/004
1.3在switch语句中使用枚举/005
1.4values()方法的神秘之处/006
1.5实现,而不是继承/009
1.6随机选择/010
1.7使用接口来组织枚举/011
1.8用EnumSet来代替标识/015
1.9使用EnumMap/017
1.10常量特定方法/018
1.10.1用枚举实现职责链模式/023
1.10.2用枚举实现状态机/027
1.11多路分发/032
1.11.1使用枚举类型分发/034
1.11.2使用常量特定方法/036
1.11.3使用EnumMap分发/038
1.11.4使用二维数组/039
1.12支持模式匹配的新特性/041
1.13新特性:switch中的箭头语法/041
1.14新特性:switch中的casenull/042
1.15新特性:将switch作为表达式/044
1.16新特性:智能转型/046
1.17新特性:模式匹配/048
1.17.1违反里氏替换原则/049
1.17.2守卫/053
1.17.3支配性/055
1.17.4覆盖范围/057
1.18总结/058
第2章对象传递和返回060
2.1传递引用/061
引用别名/061
2.2创建本地副本/063
2.2.1值传递/063
2.2.2克隆对象/064
2.2.3为类增加可克隆能力/065
2.2.4成功的克隆/067
2.2.5Object.clone()的效果/068
2.2.6克隆组合对象/070
2.2.7深拷贝ArrayList/073
2.2.8通过序列化进行深拷贝/074
2.2.9在继承层次结构中增加可克隆性并向下覆盖/076
2.2.10为什么用这种奇怪的设计/077
2.3控制可克隆性/078
复制构造器/082
2.4不可变类/086
2.4.1创建不可变类/088
2.4.2不可变性的缺点/089
2.4.3String很特殊/091
2.5总结/091
第3章集合主题093
3.1样例数据/093
3.2List的行为/099
3.3Set的行为/102
3.4在Map上使用函数式操作/104
3.5选择Map的部分元素/105
3.6填充集合/107
3.6.1使用Suppliers来填充Collection/108
3.6.2使用Suppliers来填充Map/109
3.7使用享元自定义Collection和Map/112
3.8Collection的功能/123
3.9可选的操作/125
不支持的操作/127
3.10Set与存储顺序/129
SortedSet/132
3.11Queue/134
3.11.1优先级队列/135
3.11.2Deque/136
3.12理解Map/137
3.12.1性能/139
3.12.2SortedMap/141
3.12.3LinkedHashMap/143
3.13工具函数/144
3.13.1List上的排序和查找/147
3.13.2创建不可修改的Collection或Map/148
3.13.3同步Collection或Map/150
3.14持有引用/151
WeakHashMap/154
3.15Java1.0/1.1的集合类/155
3.15.1Vector和Enumeration/155
3.15.2Hashtable/156
3.15.3Stack/157
3.15.4BitSet/158
3.16总结/160
第4章注解162
4.1基本语法/163
4.1.1定义注解/164
4.1.2元注解/165
4.2编写注解处理器/166
4.2.1注解元素/167
4.2.2默认值的/168
4.2.3生成外部文件/168
4.2.4注解不支持继承/172
4.2.5实现处理器/172
4.3用javac处理注解/174
4.3.1最简单的处理器/175
4.3.2更复杂的处理器/178
4.4基于注解的单元测试/182
4.4.1在@Unit中使用泛型/190
4.4.2实现@Unit/192
4.5总结/202
第5章并发编程203
5.1令人迷惑的术语/204
并发的新定义/206
5.2并发的超能力/207
5.3并发为速度而生/209
5.4Java并发四定律/211
5.4.1不要使用并发/211
5.4.2一切都不可信,一切都很重要/212
5.4.3能运行并不代表没有问题/212
5.4.4你终究要理解并发/213
5.5残酷的事实/214
5.6本章剩余部分/216
5.7并行流/218
5.7.1parallel()并非灵丹妙药/219
5.7.2parallel()和limit()的作用/224
5.7.3并行流只是看起来很简单/228
5.8创建和运行任务/228
5.8.1Task和Executor/228
5.8.2使用更多的线程/232
5.8.3生成结果/234
5.8.4作为任务的lambda与方法引用/236
5.9终止长时间运行的任务/237
5.10CompletableFuture/240
5.10.1基本用法/241
5.10.2其他操作/244
5.10.3合并多个Completable-Future/247
5.10.4模拟场景应用/251
5.10.5异常/253
5.11死锁/259
5.12构造器并不是线程安全的/264
5.13工作量、复杂性、成本/268
5.14总结/273
5.14.1缺点/274
5.14.2Java核心设计的失败之处/275
5.14.3其他的库/275
5.14.4设想一种为并发而设计的语言/276
5.14.5延伸阅读/276
第6章底层并发277
6.1什么是线程?/277
6.1.1很好线程数/279
6.1.2我可以创建多少线程/280
6.2捕获异常/282
6.3共享资源/286
6.3.1资源竞争/286
6.3.2解决资源竞争/290
6.3.3将EvenProducer同步化/292
6.4volatile关键字/293
6.4.1字分裂/293
6.4.2可见性/294
6.4.3(指令)重排序和先行发生/295
6.4.4何时使用volatile/296
6.5原子性/296
6.5.1Josh的序列号/300
6.5.2原子类/303
6.6临界区/304
6.6.1在其他对象上进行同步/307
6.6.2使用显式Lock对象/308
6.7库组件/310
6.7.1延迟队列DelayQueue/311
6.7.2优先级阻塞队列Priority-BlockingQueue/313
6.7.3无锁集合/316
6.8总结/317
第7章JavaI/O系统319
7.1I/O流/319
7.1.1各种InputStream类型/321
7.1.2各种OutputStream类型/321
7.1.3添加属性和有用的接口/322
7.1.4各种Reader和Writer/324
7.1.5自成一家的Random-AccessFile/327
7.1.6I/O流的典型用法/328
7.1.7小结/335
7.2标准I/O/335
7.2.1从标准输入中读取/336
7.2.2将System.out转换为PrintWriter/336
7.2.3标准I/O重定向/337
7.2.4进程控制/338
7.3新I/O系统/340
7.3.1字节缓冲区ByteBuffer/340
7.3.2转换数据/344
7.3.3获取基本类型/347
7.3.4视图缓冲区/348
7.3.5用缓冲区操纵数据/352
7.3.6内存映射文件/357
7.3.7文件加锁/361
第8章设计模式364
8.1设计模式的概念/364
8.2单例模式/366
8.3设计模式的分类/370
8.4模板方法/370
8.5封装实现/371
8.5.1代理模式/372
8.5.2状态模式/373
8.5.3状态机模式/376
8.6工厂模式:封装对象的创建/377
8.6.1动态工厂模式/380
8.6.2多态工厂模式/381
8.6.3抽象工厂模式/382
8.7函数对象模式/384
8.7.1命令模式/385
8.7.2策略模式/386
8.7.3职责链模式/388
8.8改变接口/391
8.8.1适配器模式/391
8.8.2外观模式/392
8.9解释器模式:运行时的灵活性/394
8.10回调/394
8.10.1观察者模式/394
8.10.2示例:观察花朵/395
8.10.3一个可视化的观察者示例/398
8.11多路分发/401
8.12模式重构/405
8.12.1Trash和它的子类/405
8.12.2信使对象/410
8.12.3使工厂通用化/411
8.12.4从文件解析Trash/412
8.12.5用DynaFactory实现回收/415
8.12.6将用法抽象化/416
8.12.7用多路分发重新设计/420
8.12.8访问者模式/427
8.12.9反射是有害的?/431
8.13总结/435
编程指南/436
Javadoc/446
理解equals()和hashCode()/451
数据压缩/475
对象序列化/481
静态类型检查的利与弊/505
内容摘要
本书内容主要是对《OnJava中文版基础卷》的拓展延伸,重点讲解Java的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如I/O系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第3章增补了一些关于集合的高级特性)。在附录中,作者给出了67条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的一些经验之谈。本书适合有一定项目开发经验的Java程序员阅读。
主编推荐
基于Java 8、11、17,Thinking in系列书籍作者Bruce Eckel重讲Java的编程思想!
1.查漏宝典:涵盖Java关键特性的设计原理和应用方法
2.避坑指南:以产业实践的得失为鉴,指明Java开发者不可不知的设计陷阱
3.小白大神皆可读:适合不同层次的Java开发者反复翻阅
4.大咖领读:3位一线技术专家带你拆解书中难点内容,总结Java开发精要
— 没有更多了 —
以下为对购买帮助不大的评价