商品详情
书名:Java程序员应知应会97件事
书号:978-7-5239-0354-4
定价:88元
作者:[英国]凯夫林亨尼(Kevlin Henney),[英国]特丽莎吉(Trisha Gee)
出版时间:2025-11-20
出版社:中国电力出版社
页码: 312 字数(千字):360
开本:16开 版次:1 印次:1
品牌介绍
中国电力出版社成立于 1951 年,作为中国成立最早的中央科技出版社之一,曾隶属于水利电力部、能源部、电力工业部、国家电力公司,现为国家电网公司所属的科技出版社,在电气技术专业出版领域享有极高的声誉。该社作为以图书出版为主体,音像、电子出版物、期刊、网络出版共同发展的大型出版企业,以强大的出版资源和高素质的专业队伍,致力于向读者提供包括电力工程、电气工程、建筑工程、电子技术、信息技术、外语、大中专教材、家教等学科门类齐全的权威出版物,也竭力为广大师生提供精品教材,是教育部和北京市教委规划教材的出版基地之一。
产品特色
由浅入深,循序渐进。本书以初、中级程序员为对象,先从Java语言基础学起,再学习Java的核心技术,然后学习Swing的高级应用,最后学习开发一个完整项目。 实例典型,轻松易学。通过例子学习是最好的学习方式,本书通过“一个知识点、一个例子、一个结果、一段评析,一个综合应用”的模式,透彻详尽地讲述了实际开发中所需的各类知识。另外,为了便于读者阅读程序代码,快速学习编程技能,书中几乎每行代码都提供了注释。
作者介绍
Kevlin Henney是一名独立顾问与培训师。他的工作聚焦于模式与架构、编程技术与语言,以及开发流程与实践。Trisha Gee是一位Java权威,曾在金融、制造、教育和科技等多个行业工作。她热衷于帮助开发者提升生产力。
内容介绍
如果你想将Java技能提升到新的高度,这本实用书籍将为你提供Java领域领导者与实践专家的建议。它将引导你以新的视角审视问题,对工作承担更广泛的职责,通过学习新技术挑战自我,并尽可能成为最精通开发技艺的专家。由Kevlin Henney和Trisha Gee编的这本书,凝聚了多位Java软件开发者毕生的实践经验,以及对软件开发流程的深刻理解。书中汇集了顶尖程序员的智慧结晶,助你重新审视并优化Java开发实践,无论你是在维护传统代码,还是紧跟技术革新潮流。
本书适用于Java程序员
前言
前言 思想不是需要填满的容器,而是需要点燃的火种。 —— Plutarch 每个Java 程序员都应该了解什么?这取决于你问的是谁、为什么问以及什么时候问。有多少种观点,就有多少种建议。在一种影响如此多软件和人们生活的语言、平台、生态系统和社区中,从20 世纪到21 世纪,从一个核心到多个核心,从兆字节到吉字节,其复杂性远超任何一位作者在一本书中所能涵盖的内容。 相反,在这本书中,我们汲取了众多观点中的一些,为你汇集了纵贯Java 领域的见解与代表性思想。它并非涵盖一切,但包含了来自73 位贡献者的97 条见解。 引用《97 Things Every Programmer Should Know》(O’Reilly)前言中的话: 需要了解的太多,需要做的太多,而方法也多种多样,因此没有任何一个人或单一来源可以宣称拥有“唯一正确的方式”。这些贡献并不像模块化部件那样紧密契合,也没有意图让它们如此契合。恰恰相反,它们的价值正源于其独特性。这本合集的价值在于,这些贡献如何相互补充、印证,甚至相互矛盾。这里没有贯穿始终的叙事,你需要根据自己的理解、思考和联结,将所读的内容与自身的背景、知识和经验进行对照和权衡。 每个Java 程序员都应该了解什么?在我们采集的97 个样例中,其答案涵盖了Java 语言、JVM、测试技术、JDK、社区、历史、敏捷思维、实现技巧、职业素养、代码风格、实质内容、编程范式、作为人的程序员、软件架构、超越代码的技能、工具使用、垃圾回收机制、非Java 的JVM 语言……以及更多。 权限 秉承前几本“97 件事”的精神,本书中的每篇贡献均遵循非限制性、开源的模式。 每篇均以Creative Commons Attribution 4.0(知识共享署名4.0)许可协议发布。 许多内容最初也发表于“97 件事”的Medium 专栏。 所有这些内容都将成为你思考和编写代码的燃料与火花。 O’Reilly 在线学习平台(O’Reilly Online Learning) 近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。 公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。 联系我们 任何有关本书的意见或疑问,请按照以下地址联系出版社。 美国: O’Reilly Media, Inc. 1005 Gravenstein Highway North Sebastopol, CA 95472 中国: 北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) 奥莱利技术咨询(北京)有限公司 我们为本书设立了网页,列出勘误、示例及任何补充信息。您可通过以下链接访问:https://oreil.ly/97Tejpsk。 对本书中文版有任何建议可以发电子邮件到errata@oreilly.com.cn。 欲了解本社图书和课程的新闻和信息,请访问我们的网站http://oreilly.com。 在Facebook 上关注我们:http://facebook.com/oreilly。 在Twitter 上关注我们:http://twitter.com/oreillymedia,同时查看http://twitter.com/97_Things。 在YouTube 上观看我们的视频:http://youtube.com/oreillymedia。 致谢 许多人以直接或间接的方式为本书贡献了时间与见解。他们都应获得赞誉。 我们衷心感谢所有抽出时间与精力参与本书创作的贡献者。同时,也感谢布莱恩戈特兹(Brian Goetz)提供的宝贵反馈、评论与建议。 感谢O’Reilly 对本项目的大力支持,包括赞麦克奎德(Zan McQuade)和科宾柯林斯(Corbin Collins)的指导,以及他们对贡献者与内容的悉心培育;感谢蕾切尔罗梅利奥蒂斯(Rachel Roumeliotis)、苏珊康奈特(Susan Conant)和迈克洛基德斯(Mike Loukides)在此过程中的付出。 凯夫林(Kevlin)特别感谢他的妻子卡罗琳(Carolyn),感谢她拨开迷雾、理清头绪;也感谢他的儿子斯特凡(Stefan)和扬尼克(Yannick),感谢他们理解父母的世界。 特丽莎(Trisha)也想感谢她的丈夫伊斯拉(Isra),感谢他让她明白“因未完成之事而焦虑”于事无补;并感谢她的女儿艾薇(Evie)和艾米(Amy),感谢她们无条件的爱与拥抱。 我们希望本书能够内容详实、富有洞见、激励人心。 愿您畅享阅读!
目录
目录
前言 1
第1 章 你所需要的只是Java 5
Anders Norås
第2 章 验收测试 7
Emily Bache
第3 章 用AsciiDoc 增强Javadoc 9
James Elliot
第4 章 注意你的容器运行环境 11
David Delabassee
第5 章 行为易改,状态难调 13
Edson Yanaga
第6 章 基准测试不易,JMH 来助力 15
Michael Hunger
第7 章 编写与声明软件架构质量规范的益处 19
Daniel Bryant
第8 章 把问题和任务拆解成小块 23
Jeanne Boyarsky
第9 章 构建多元化团队 27
Ixchel Ruiz
第10 章 软件构建过程的缓慢与不稳定性不是必然的 29
Jenn Strater
第11 章 但在我的电脑上就能用 31
Benjamin Muschko
第12 章 臃肿JAR 的弊端 35
Daniel Bryant
第13 章 代码修复者 37
Abraham MarinPerez
第14 章 JVM 上的并发编程 39
Mario Fusco
第15 章 倒计时锁:好还是坏 41
Alexey Soshin
第16 章 声明式表达是通往并行化的关键 45
Russel Winder
第17 章 更快交付更优质软件 47
Burk Hufnagel
第18 章 你是否知道现在几点了 49
Christin Gorman
第19 章 别“隐藏”你的集成开发工具 53
Gail Ollis
第20 章 不要改变变量的值 55
Steve Freeman
第21 章 拥抱SQL 思维 59
Dean Wampler
第22 章 Java 组件间的事件 61
AMahdy AbdelAziz
第23 章 反馈循环 65
Liz Keogh
第24 章 全力以赴 67
Michael Hunger
第25 章 遵循基础规范 69
Adam Bien
第26 章 频繁发布降低风险 71
Chris O’Dell
第27 章 从谜题到产品 73
Jessica Kerr
第28 章 “全栈开发者”是一种思维模式 77
Maciej Walkowiak
第29 章 垃圾回收是你的朋友 79
Holly Cummins
第30 章 提升命名能力 81
Peter Hilton
第31 章 嘿,弗雷德!能把那个HashMap 递给我吗 83
Kirk Pepperdine
第32 章 如何避免空值 85
Carlos Obregón
第33 章 如何导致你的JVM 崩溃 89
Thomas Ronzon
第34 章 通过持续交付提升可重复性与可审计性 91
Billy Korando
第35 章 在语言之争中,Java 稳占一席之地 93
Jennifer Reif
第36 章 内联思维 97
Patricia Aas
第37 章 与Kotlin 语言的互操作性 99
Sebastiano Poggi
第38 章 已经完成了,不过 101
Jeanne Boyarsky
第39 章 Java 认证:技术基石 103
Mala Gupta
第40 章 Java 是20 世纪90 年代的“产物” 105
Ben Evans
第41 章 从JVM 性能视角进行Java 编程107
Monica Beckwith
第42 章 Java 本应充满乐趣 109
Holly Cummins
第43 章 Java 的不可言说类型 113
Ben Evans
第44 章 JVM 是一个多范式平台:利用这一特性提升编程能力 117
Russel Winder
第45 章 紧跟技术脉搏 119
Trisha Gee
第46 章 注释的多种形态 121
Nicolai Parlog
第47 章 深入理解flatMap 125
Daniel Hinojosa
第48 章 精通集合框架 129
Nikhil Nanivadekar
第49 章 Kotlin 是一门值得尝试的语言 131
Mike Dunn
第50 章 掌握Java 惯用法,让知识在脑海中“缓存” 135
Jeanne Boyarsky
第51 章 学习Kata 并通过Kata 学习 137
Donald Raab
第52 章 学会关爱你的遗留代码 141
Uberto Barbini
第53 章 学会使用Java 新特性 143
Gail C Anderson
第54 章 精通IDE,降低认知负荷 147
Trisha Gee
第55 章 让我们订立契约:Java API 设计的艺术 149
Mario Fusco
第56 章 让代码简洁易读 151
Emily Jiang
第57 章 让你的Java 更Groovy 153
Ken Kousen
第58 章 最小化构造函数 157
Steve Freeman
第59 章 命名日期 161
Kevlin Henney
第60 章 工业级技术的必要性 163
Paul W Homer
第61 章 仅构建变更部分并复用其余部分 165
Jenn Strater
第62 章 开源项目不是魔法 167
Jenn Strater
第63 章 Optional:虽打破法则却是优秀的类型 169
Nicolai Parlog
第64 章 按功能划分包与默认访问修饰符 173
Marco Beelen
第65 章 生产环境是地球上最快乐的地方 177
Josh Long
第66 章 用GUT 编程 181
Kevlin Henney
第67 章 每日研读OpenJDK 185
Heinz M Kabutz
第68 章 深度剖析底层原理 187
Rafael Benevides
第69 章 Java 的重生 189
Sander Mak
第70 章 通过Clojure 重新发现JVM 191
James Elliott
第71 章 将布尔值重构为枚举类型 193
Peter Hilton
第72 章 重构以提升代码速读性 195
Benjamin Muskalla
第73 章 简单值对象199
Steve Freeman
第74 章 重视模块声明 203
Nicolai Parlog
第75 章 妥善管理项目依赖 207
Brian Vermeer
第76 章 严肃对待“职责分离” 209
Dave Farley
第77 章 技术面试是一项值得培养的技能 213
Trisha Gee
第78 章 测试驱动开发 215
Dave Farley
第79 章 JDK 的bin 目录中藏着许多强大工具 219
Rod Hilton
第80 章 跳出Java 沙盒思维 221
Ian F Darwin
第81 章 深入理解协程 223
Dawn Griffiths 和David Griffiths
第82 章 线程即基础设施,按基础设施对待 227
Russel Winder
第83 章 卓越开发者的三大特质 229
Jannah Patchay
第84 章 微服务架构中的权衡 231
Kenny Bastani
第85 章 解除受检异常 233
Kevlin Henney
第86 章 利用容器解锁集成测试的潜在价值 237
Kevin Wittek
第87 章 模糊测试的异常高效性 239
Nat Pryce
第88 章 利用覆盖率提升单元测试质量 243
Emily Bache
第89 章 活用自定义身份注解 245
Mark Richards
第90 章 使用测试加速开发更优质的软件 249
Marit van Dijk
第91 章 在测试代码中使用面向对象原则 251
Angie Jones
第92 章 善用社群力量,赋能职业发展 255
Sam Hepburn
第93 章 什么是JCP 项目及如何参与 257
Heather VanCura
第94 章 我不认可任何证书的原因 259
Colin Vipurs
第95 章 撰写单句式文档注释 261
Peter Hilton
第96 章 编写“可读代码” 265
Dave Farley
第97 章 年轻代、老年代与垃圾回收 269
María Arias de Reyna
作者介绍 273
- 有电书房
- 扫描二维码,访问我们的微信店铺