Effective java 中文版(第2版)

Joshua Bloch

出版时间

2008-12-31

ISBN

9787111255833

评分

★★★★★
书籍介绍
这本书的价值不在「78条规则」的数量,而在它重塑了程序员对 Java 的判断力。读完后你不会再满足于「能跑就行」:你会开始追问为什么、权衡取舍、并理解优秀 API 背后的设计哲学。它适合有一定经验、越过入门阶段、希望从「写得出代码」走向「写得对、写得优雅」的开发者。需要提醒的是:中文版翻译质量争议较大,部分读者反映关键概念被译错,阅读时建议对照原文或结合英文术语理解。正因如此,它更像一本值得反复批注、甚至「批判性阅读」的案头书——真正让你记住的,是那种对代码质量的较真态度。
作者简介
Joshua Bloch是Google公司的首席Java架构师。是Jolt大奖的获得者。他曾是Sun公司的杰出工程师,和Transarc公司的高级系统设计师。Bloch曾带领团队设计和实现过无数的Java平台特性,包括JDK 5.0语言增强版和获奖的Java Collections Framework。他的著作还包括:《Java Puzzlers》、《Java Concurrency in Practive》等。
AI导读
核心看点
  • 汇集78条Java编程实战经验,覆盖对象创建、通用方法、类接口等核心领域。
  • 揭示如何编写清晰、健壮且高效的代码,深入解析平台设计专家的技术细节。
  • 每条规则独立成篇,辅以代码示例,结构清晰,是Java开发者的案头必备参考。
读者共识
  • 内容极具价值,被公认为Java领域的经典之作,对提升编码水平帮助巨大。
  • 中文版翻译槽点较多,存在术语错误,建议中英对照阅读或直读英文原版。
  • 新手可能难以完全领悟,建议有一定实战基础后阅读,方能产生深刻共鸣。
精彩摘录
  • "例如,构造器 BigInteger(int, int, Random)会返回一个为可能素数(probable prime)的 BigInteger, 但如果用一个名为 BigInteger.probablePrime 的静态工厂方法来表示,效果会更好。"
  • "大多数程序员都不需要这个方法(指枚举的ordinal方法),他是设计成用于像EnumSet和EnumMap这种基于枚举的通用数据结构的,除非你在编写的是这类数据结构,否则最好完全避免使用ordinal方法。"
  • "如果类具有从客户端得到或返回到客户端的可变组件。类就必须保护性的拷贝这些组件。如果拷贝的成本受到限制,并且信任他的客户端不会不恰当的修改组件,就可以在文档中指明客户端的职责是不得修改受到影响的组件,以此来代替保护性拷贝"
  • "谨慎地选择方法的名称"
  • "不要过于追求提供便利的方法"
  • "避免过长的参数列表"
  • "要调用哪个重载(overloading)方法是在编译期做出决定的 重载方法(overloaded method)的选择是静态的,而对于被覆盖的方法(overridden method)的选择则是动态的"
  • "“能够重载方法”并不意味着就“应该重载方法”。一般情况下,对于多个具有相同参数数目的方法来说。应该尽量避免重载方法。"
目录
译者序
前言
致谢
第1章 引言

显示全部
用户评论
这种书还是要看的,但是要批判的看
这本书为翻译们作出了杰出的表率。
学java必看。通过这本书也知道java有很多缺陷,不要只限于一门编程语言,多接触其他语言。
感谢司令赠书
蛮好,简短并且精髓
必读。但又不怎么用得到。矛盾
补充记录~
不太好理解,可能是翻译有问题
与第一版的区别:新增jdk5,主要是泛型一章、并发这一章改写。多加了几十个知识点。
java系统的体系化,业务需求的功能的完成,语言的设计和实现,性能的提升。分层次的梳理和学习。
下载
收藏