Effective java 中文版(第2版)

Joshua Bloch

出版时间

2008-12-31

ISBN

9787111255833

评分

★★★★★
AI导读
核心看点
  • 汇集78条Java编程实战经验,覆盖对象创建、通用方法、类接口等核心领域。
  • 揭示如何编写清晰、健壮且高效的代码,深入解析平台设计专家的技术细节。
  • 每条规则独立成篇,辅以代码示例,结构清晰,是Java开发者的案头必备参考。
适合谁读
  • 具备半年以上Java开发经验,希望提升代码质量与工程能力的进阶开发者。
  • 准备Java技术面试,需要系统梳理最佳实践与底层原理的求职者。
  • 希望深入理解Java平台设计思想,优化软件架构的资深技术人员。
读前提醒
  • 中文版翻译质量争议较大,建议英语基础好的读者优先阅读英文原版。
  • 不必按顺序通读,可根据当前项目需求,针对性阅读相关章节的规则。
  • 书中部分规则基于早期Java版本,阅读时需结合当前JDK特性批判性吸收。
读者共识
  • 内容极具价值,被公认为Java领域的经典之作,对提升编码水平帮助巨大。
  • 中文版翻译槽点较多,存在术语错误,建议中英对照阅读或直读英文原版。
  • 新手可能难以完全领悟,建议有一定实战基础后阅读,方能产生深刻共鸣。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "例如,构造器 BigInteger(int, int, Random)会返回一个为可能素数(probable prime)的 BigInteger, 但如果用一个名为 BigInteger.probablePrime 的静态工厂方法来表示,效果会更好。"
  • "大多数程序员都不需要这个方法(指枚举的ordinal方法),他是设计成用于像EnumSet和EnumMap这种基于枚举的通用数据结构的,除非你在编写的是这类数据结构,否则最好完全避免使用ordinal方法。"
  • "如果类具有从客户端得到或返回到客户端的可变组件。类就必须保护性的拷贝这些组件。如果拷贝的成本受到限制,并且信任他的客户端不会不恰当的修改组件,就可以在文档中指明客户端的职责是不得修改受到影响的组件,以此来代替保护性拷贝"
  • "谨慎地选择方法的名称"
  • "不要过于追求提供便利的方法"
  • "避免过长的参数列表"
  • "要调用哪个重载(overloading)方法是在编译期做出决定的 重载方法(overloaded method)的选择是静态的,而对于被覆盖的方法(overridden method)的选择则是动态的"
  • "“能够重载方法”并不意味着就“应该重载方法”。一般情况下,对于多个具有相同参数数目的方法来说。应该尽量避免重载方法。"
作者简介
Joshua Bloch是Google公司的首席Java架构师。是Jolt大奖的获得者。他曾是Sun公司的杰出工程师,和Transarc公司的高级系统设计师。Bloch曾带领团队设计和实现过无数的Java平台特性,包括JDK 5.0语言增强版和获奖的Java Collections Framework。他的著作还包括:《Java Puzzlers》、《Java Concurrency in Practive》等。
目录
译者序
前言
致谢
第1章 引言

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