Effective Java中文版(第3版)

[美] Joshua Bloch

出版时间

2018-12-11

ISBN

9787111612728

评分

★★★★★

标签

编程

书籍介绍

本书一共包含90个条目,每个条目讨论Java程序设计中的一条规则。这些规则反映了最有经验的优秀程序员在实践中常用的一些有益的做法。

全书以一种比较松散的方式将这些条目组织成11章,每一章都涉及软件设计的一个主要方面。因此,本书并不一定需要按部就班地从头读到尾,因为每个条目都有一定程度的独立性。这些条目相互之间经常交叉引用,因此可以很容易地在书中找到自己需要的内容。

本书的目标是帮助读者更加有效地使用Java编程语言及其基本类库:java.lang、java.util和java.io,以及子包,如java.util.concurrent和java.util.function。本书时不时地也会讨论其他的类库。

AI导读
核心看点
  • 全书90条规则,涵盖Java编程最佳实践
  • 条目独立松散,可按需查阅,无需通读
  • 聚焦清晰、正确、健壮及可维护的代码
适合谁读
  • 具备一定Java基础,希望进阶的开发者
  • 从事后端开发,追求代码质量的工程师
  • 有两年以上经验,需重构或维护旧代码者
读前提醒
  • 中文版翻译质量争议大,建议对照英文原版
  • 无需按顺序阅读,根据当前痛点跳读条目
  • 信息密度极大,建议结合实践反复重读
读者共识
  • 内容极具价值,是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章 引言 1

显示全部
用户评论
应该当初学的时候作为note放在课件底下,最佳深入理解书籍,我爱java
非常实用,写代码最重要的不是写的快或者写着舒服,而且阅读和后期维护起来简单。非常喜欢书中的一句话:本书大部分内容都不是讨论性能的,而是关心如何编写出清晰、正确、可用、健壮、灵活和可维护的程序来。
经典就是需要不停读的书
翻译太垃圾了
以后再读
书其实是一本很好的书,类似阿里规约的条款,并且给解释了为什么这样做。但是翻译差到不忍直视。看书的时候得同事对着英文的原版才能知道讲的是啥,而且基本没有办法在中文版上加修订,因为通常是整个句子都是错的,非常不建议读中文版。
翻译很差,甚至赶不上谷歌翻译,个人不建议阅读,直接读英文版大概更好一些
之前看过一遍 最近又重温了…很实用
这是人翻译的?这是鸡翻译的吧……机翻好意思注上人名???妈的智障,暴殄天物!
啃是啃完了,有些蛮实用的。然而有些还是…很没读过差不多。
下载
收藏