您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
OnJava 进阶卷 中文版
字数: 792000
装帧: 软精装
出版社: 人民邮电出版社
作者: (美)布鲁斯·埃克尔 著 孙卓,陈德伟,臧秀涛 译
出版日期: 2022-03-01
商品条码: 9787115585028
版次: 1
开本: 16开
页数: 560
出版年份: 2022
定价:
¥129.8
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
基于Java 8、11、17,Thinking in系列书籍作者Bruce Eckel重讲Java的编程思想! 1.查漏宝典:涵盖Java关键特性的设计原理和应用方法 2.避坑指南:以产业实践的得失为鉴,指明Java开发者不可不知的设计陷阱 3.小白大神皆可读:适合不同层次的Java开发者反复翻阅 4.大咖领读:3位一线技术专家带你拆解书中难点内容,总结Java开发精要
内容简介
本书内容主要是对《OnJava中文版基础卷》的拓展延伸,重点讲解Java的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如I/O系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第3章增补了一些关于集合的高级特性)。在附录中,作者给出了67条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的一些经验之谈。本书适合有一定项目开发经验的Java程序员阅读。
作者简介
【作者简介】 布鲁斯·埃克尔(Bruce Eckel) C++ 标准委员会的创始成员之一,技术顾问,专注于编程语言和软件系统设计方面的研究,常活跃于世界各大技术研讨会。他自 1986 年以来,累计出版Thinking in C++、Thinking in Java、On Java 8 等十余部计算机著作,曾多次荣获 Jolt 最佳图书奖(被誉为“软件业界的奥斯卡”),其代表作 Thinking in Java 被译为中文、日文、俄文、意大利文、波兰文、韩文等十几种语言,在世界范围内产生了广泛影响。 【译者简介】 孙卓,现任职于百度健康研发中心,百度技术委员会成员。从业十余年,熟悉 Java、PHP 等语言体系,同时也是一名语言文字爱好者。 陈德伟,深耕软件研发十余年,目前专注于金融系统研发工作。 臧秀涛,InfoQ 前会议内容总编。现于涛思数据负责开源时序数据库 TDengine 的社区生态。代表译作有《Java 性能权威指南》、《C++ API 设计》、《Groovy 程序设计》等。
目录
第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
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网