• 微瑕OnJava中文版进阶卷
21年品牌 40万+商家 超1.5亿件商品

微瑕OnJava中文版进阶卷

51.92 4.0折 129.8 全新

库存4件

北京丰台
认证卖家担保交易快速发货售后保障

作者[美]布鲁斯·埃克尔(BruceEckel) 著

出版社人民邮电出版社

ISBN9787115585028

出版时间2022-03

版次1

装帧平装

开本16开

纸张胶版纸

页数560页

字数99999千字

定价129.8元

货号2170-9787115585028

上书时间2024-12-10

青松阁文化

十五年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
基本信息
书名:OnJava中文版进阶卷
定价:129.8元
作者:[美]布鲁斯·埃克尔(BruceEckel) 著
出版社:人民邮电出版社
出版日期:2022-03-01
ISBN:9787115585028
字数:792000
页码:560
版次:
装帧:平装
开本:16开
商品重量:
编辑推荐

内容提要
本书内容主要是对《OJava 中文版 基础卷》的拓展延伸,重点讲解 Java 的高级特性、并发、设计模式等相关进阶知识,对一些和开发密切相关的底层操作(如 I/O 系统、底层并发、数据压缩等)进行深入探讨,同时针对基础卷的重点章节进行了补充说明(如第 3 章增补了一些关于集合的高级特性)。在附录中,作者给出了 67 条关于低级程序设计和编写代码的建议,并分享了自己成为程序员的一些经验之谈。本书适合有一定项目开发经验的 Java 程序员阅读。
目录
章 枚举类型 0011.1 枚举类型的基本特性 / 001静态导入枚举类型 / 0021.2 在枚举类型中增加自定义方法 / 003重载枚举类型中的方法 / 0041.3 在switch语句中使用枚举 / 0051.4 values方法的神秘之处 / 0061.5 实现,而不是继承 / 0091.6 随机选择 / 0101.7 使用接口来组织枚举 / 0111.8 用EnumSet来代替标识 / 0151.9 使用EnumMap / 0171.10 常量特定方法 / 0181.10.1 用枚举实现职责链模式 / 0231.10.2 用枚举实现状态机 / 0271.11 多路分发 / 0321.11.1 使用枚举类型分发 / 0341.11.2 使用常量特定方法 / 0361.11.3 使用EnumMap分发 / 0381.11.4 使用二维数组 / 0391.12 支持模式匹配的新特性 / 0411.13 新特性:switch中的箭头语法 / 0411.14 新特性:switch中的caseull / 0421.15 新特性:将switch作为表达式 / 0441.16 新特性:智能转型 / 0461.17 新特性:模式匹配 / 0481.17.1 违反里氏替换原则 / 0491.17.2 守卫 / 0531.17.3 支配性 / 0551.17.4 覆盖范围 / 0571.18 总结 / 058第 2章 对象传递和返回 0602.1 传递引用 / 061引用别名 / 0612.2 创建本地副本 / 0632.2.1 值传递 / 0632.2.2 克隆对象 / 0642.2.3 为类增加可克隆能力 / 0652.2.4 成功的克隆 / 0672.2.5 Object.clone的效果 / 0682.2.6 克隆组合对象 / 0702.2.7 深拷贝ArrayList / 0732.2.8 通过序列化进行深拷贝 / 0742.2.9 在继承层次结构中增加可克隆性并向下覆盖 / 0762.2.10 为什么用这种奇怪的设计 / 0772.3 控制可克隆性 / 078复制构造器 / 0822.4 不可变类 / 0862.4.1 创建不可变类 / 0882.4.2 不可变性的缺点 / 0892.4.3 String很特殊 / 0912.5 总结 / 091第3章 集合主题 0933.1 样例数据 / 0933.2 List的行为 / 0993.3 Set的行为 / 1023.4 在Map上使用函数式操作 / 1043.5 选择Map的部分元素 / 1053.6 填充集合 / 1073.6.1 使用Suppliers来填充Collectio/ 1083.6.2 使用Suppliers来填充Map / 1093.7 使用享元自定义Collection和Map / 1123.8 Collection的功能 / 1233.9 可选的操作 / 125不支持的操作 / 1273.10 Set与存储顺序 / 129SortedSet / 1323.11 Queue / 1343.11.1 优先级队列 / 1353.11.2 Deque / 1363.12 理解Map / 1373.12.1 性能 / 1393.12.2 SortedMap / 1413.12.3 LinkedHashMap / 1433.13 工具函数 / 1443.13.1 List上的排序和查找 / 1473.13.2 创建不可修改的Collection或Map / 1483.13.3 同步Collection或Map / 1503.14 持有引用 / 151WeakHashMap / 1543.15 Java 1.0/1.1的集合类 / 1553.15.1 Vector和Enumeratio/ 1553.15.2 Hashtable / 1563.15.3 Stack / 1573.15.4 BitSet / 1583.16 总结 / 160第4章 注解 1624.1 基本语法 / 1634.1.1 定义注解 / 1644.1.2 元注解 / 1654.2 编写注解处理器 / 1664.2.1 注解元素 / 1674.2.2 默认值的限制 / 1684.2.3 生成外部文件 / 1684.2.4 注解不支持继承 / 1724.2.5 实现处理器 / 1724.3 用javac处理注解 / 1744.3.1 简单的处理器 / 1754.3.2 更复杂的处理器 / 1784.4 基于注解的单元测试 / 1824.4.1 在@Unit中使用泛型 / 1904.4.2 实现@Unit / 1924.5 总结 / 202第5章 并发编程 2035.1 令人迷惑的术语 / 204并发的新定义 / 2065.2 并发的超能力 / 2075.3 并发为速度而生 / 2095.4 Java并发四定律 / 2115.4.1 不要使用并发 / 2115.4.2 一切都不可信,一切都很重要 / 2125.4.3 能运行并不代表没有问题 / 2125.4.4 你终究要理解并发 / 2135.5 残酷的事实 / 2145.6 本章剩余部分 / 2165.7 并行流 / 2185.7.1 parallel并非灵丹妙药 / 2195.7.2 parallel和limit的作用 / 2245.7.3 并行流只是看起来很简单 / 2285.8 创建和运行任务 / 2285.8.1 Task和Executor / 2285.8.2 使用更多的线程 / 2325.8.3 生成结果 / 2345.8.4 作为任务的lambda与方法引用 / 2365.9 终止长时间运行的任务 / 2375.10 CompletableFuture / 2405.10.1 基本用法 / 2415.10.2 其他操作 / 2445.10.3 合并多个Completable-Future / 2475.10.4 模拟场景应用 / 2515.10.5 异常 / 2535.11 死锁 / 2595.12 构造器并不是线程安全的 / 2645.13 工作量、复杂性、成本 / 2685.14 总结 / 2735.14.1 缺点 / 2745.14.2 Java核心设计的失败之处 / 2755.14.3 其他的库 / 2755.14.4 设想一种为并发而设计的语言 / 2765.14.5 延伸阅读 / 276第6章 底层并发 2776.1 什么是线程? / 2776.1.1 线程数 / 2796.1.2 我可以创建多少线程 / 2806.2 捕获异常 / 2826.3 共享资源 / 2866.3.1 资源竞争 / 2866.3.2 解决资源竞争 / 2906.3.3 将EvenProducer同步化 / 2926.4 volatile关键字 / 2936.4.1 字分裂 / 2936.4.2 可见性 / 2946.4.3 (指令)重排序和先行发生 / 2956.4.4 何时使用volatile / 2966.5 原子性 / 2966.5.1 Josh的序列号 / 3006.5.2 原子类 / 3036.6 临界区 / 3046.6.1 在其他对象上进行同步 / 3076.6.2 使用显式Lock对象 / 3086.7 库组件 / 3106.7.1 延迟队列DelayQueue / 3116.7.2 优先级阻塞队列Priority-BlockingQueue / 3136.7.3 无锁集合 / 3166.8 总结 / 317第7章 Java I/O系统 3197.1 I/O流 / 3197.1.1 各种InputStream类型 / 3217.1.2 各种OutputStream类型 / 3217.1.3 添加属性和有用的接口 / 3227.1.4 各种Reader和Writer / 3247.1.5 自成一家的Random-AccessFile / 3277.1.6 I/O流的典型用法 / 3287.1.7 小结 / 3357.2 标准I/O / 3357.2.1 从标准输入中读取 / 3367.2.2 将System.out转换为PrintWriter / 3367.2.3 标准I/O重定向 / 3377.2.4 进程控制 / 3387.3 新I/O系统 / 3407.3.1 字节缓冲区ByteBuffer / 3407.3.2 转换数据 / 3447.3.3 获取基本类型 / 3477.3.4 视图缓冲区 / 3487.3.5 用缓冲区操纵数据 / 3527.3.6 内存映射文件 / 3577.3.7 文件加锁 / 361第8章 设计模式 3648.1 设计模式的概念 / 3648.2 单例模式 / 3668.3 设计模式的分类 / 3708.4 模板方法 / 3708.5 封装实现 / 3718.5.1 代理模式 / 3728.5.2 状态模式 / 3738.5.3 状态机模式 / 3768.6 工厂模式:封装对象的创建 / 3778.6.1 动态工厂模式 / 3808.6.2 多态工厂模式 / 3818.6.3 抽象工厂模式 / 3828.7 函数对象模式 / 3848.7.1 命令模式 / 3858.7.2 策略模式 / 3868.7.3 职责链模式 / 3888.8 改变接口 / 3918.8.1 适配器模式 / 3918.8.2 外观模式 / 3928.9 解释器模式:运行时的灵活性 / 3948.10 回调 / 3948.10.1 观察者模式 / 3948.10.2 示例:观察花朵 / 3958.10.3 一个可视化的观察者示例 / 3988.11 多路分发 / 4018.12 模式重构 / 4058.12.1 Trash和它的子类 / 4058.12.2 信使对象 / 4108.12.3 使工厂通用化 / 4118.12.4 从文件解析Trash / 4128.12.5 用DynaFactory实现回收 / 4158.12.6 将用法抽象化 / 4168.12.7 用多路分发重新设计 / 4208.12.8 访问者模式 / 4278.12.9 反射是有害的? / 4318.13 总结 / 435编程指南 / 436Javadoc / 446理解equals和hashCode / 451数据压缩 / 475对象序列化 / 481静态类型检查的利与弊 / 505
作者介绍
作者简介 布鲁斯.埃克尔(Bruce Eckel)C++ 标准委员会的创始成员之一,技术顾问,专注于编程语言和软件系统设计方面的研究,常活跃于世界各大技术研讨会。他自 1986 年以来,累计出版Thinking iC++、Thinking iJava、OJava 8 等十余部计算机著作,曾多次荣获 Jolt 图书奖(被誉为“软件业界的奥斯卡”),其代表作 Thinking iJava 被译为中文、日文、俄文、意大利文、波兰文、韩文等十几种语言,在世界范围内产生了广泛影响。 译者简介 孙卓,现任职于百度健康研发中心,百度技术委员会成员。从业十余年,熟悉 Java、PHP 等语言体系,同时也是一名语言文字爱好者。陈德伟,深耕软件研发十余年,目前专注于金融系统研发工作。臧秀涛,InfoQ 前会议内容总编。现于涛思数据负责开源时序数据库 TDengine 的社区生态。代表译作有《Java 性能权威指南》、《C++ API 设计》、《Groovy 程序设计》等。
序言

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP