• Effective Java
21年品牌 40万+商家 超1.5亿件商品

Effective Java

33 3.3折 99 九五品

仅1件

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

作者(美)约书亚·布洛克(Joshua Bloch) 著

出版社电子工业出版社

ISBN9787121342608

出版时间2018-07

版次1

装帧平装

开本16开

纸张胶版纸

页数392页

字数99999千字

定价99元

上书时间2024-04-13

灵感飞驰

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:Effective Java
定价:99.00元
作者:(美)约书亚·布洛克(Joshua Bloch) 著
出版社:电子工业出版社
出版日期:2018-07-01
ISBN:9787121342608
字数:5066000
页码:392
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
适读人群 :计算机专业学生、Java从业者等。                              √经典原味,EffectiveJava升级版√Google首席Java架构师倾情力作√涵盖Java7、Java8和Java9中的各种新特性
内容提要
自从Java 6发布之后,Java又有了翻天覆地的变化。本书涵盖了Java 7、Java 8和Java 9中语言和库的各种新特性。让你能够深入了解Java平台的细微之处。通过对每一个项目的全面描述和解释,告诉你应该做什么、不应该做什么,以及为什么要这样做。
目录
1 Introduction12 Creating and Destroying Objects5Item 1: Consider static factory methods instead of constructors5Item 2: Consider a builder when faced with many constructor parameters10Item 3: Enforce the singleton property with a private constructor or an enum type17Item 4: Enforce noninstantiability with a private constructor19Item 5: Prefer dependency injection to hardwiring resources20Item 6: Avoid creating unnecessary objects22Item 7: Eliminate obsolete object references26Item 8: Avoid finalizers and cleaners 29Item 9: Prefer try-with-resources to try-finally343 Methods Common to All Objects37Item 10: Obey the general contract when overriding equals37Item 11: Always override hashCode when you override equals50Item 12: Always override toString55Item 13: Override clone judiciously58Item 14: Consider implementing Comparable664 Classes and Interfaces73Item 15: Minimize the accessibility of classes and members73Item 16: In public classes, use accessor methods, not public fields78Item 17: Minimize mutability80Item 18: Favor composition over inheritance87Item 19: Design and document for inheritance or else prohibit it 93Item 20: Prefer interfaces to abstract classes99Item 21: Design interfaces for posterity104Item 22: Use interfaces only to define types107Item 23: Prefer class hierarchies to tagged classes109Item 24: Favor static member classes over nonstatic112Item 25: Limit source files to a single top-level class1155 Generics117Item 26: Don’t use raw types117Item 27: Eliminate unchecked warnings123Item 28: Prefer lists to arrays126Item 29: Favor generic types130Item 30: Favor generic methods135Item 31: Use bounded wildcards to increase API flebility139Item 32: Combine generics and varargs judiciously146Item 33: Consider typesafe heterogeneous containers1516 Enums and Annotations157Item 34: Use enums instead of int constants157Item 35: Use instance fields instead of ordinals168Item 36: Use EnumSet instead of bit fields 169Item 37: Use EnumMap instead of ordinal indeng171Item 38: Emulate extensible enums with interfaces176Item 39: Prefer annotations to naming patterns180Item 40: Consistently use the Override annotation188Item 41: Use marker interfaces to define types1917 Lambdas and Streams193Item 42: Prefer lambdas to anonymous classes193Item 43: Prefer method references to lambdas197Item 44: Favor the use of standard functional interfaces199Item 45: Use streams judiciously203Item 46: Prefer side-effect-free functions in streams210Item 47: Prefer Collection to Stream as a return type216Item 48: Use caution when making streams parallel2228 Methods227Item 49: Check parameters for validity227Item 50: Make defensive copies when needed231Item 51: Design method signatures carefully236Item 52: Use overloading judiciously 238Item 53: Use varargs judiciously245Item 54: Return empty collections or arrays, not nulls247Item 55: Return optionals judiciously249Item 56: Write doc comments for all exposed API elements2549 General Programming261Item 57: Minimize the scope of local variables261Item 58: Prefer for-each loops to traditional for loops264Item 59: Know and use the libraries267Item 60: Avoid float and double if exact answers are required270Item 61: Prefer primitive types to boxed primitives273Item 62: Avoid strings where other types are more appropriate276Item 63: Beware the performance of string concatenation 279Item 64: Refer to objects by their interfaces280Item 65: Prefer interfaces to reflection282Item 66: Use native methods judiciously285Item 67: Optimize judiciously286Item 68: Adhere to generally accepted naming conventions28910 Exceptions293Item 69: Use exceptions only for exceptional conditions293Item 70: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors296Item 71: Avoid unnecessary use of checked exceptions298Item 72: Favor the use of standard exceptions 300Item 73: Throw exceptions appropriate to the abstraction302Item 74: Document all exceptions thrown by each method304Item 75: Include failure-capture information in detail messages306Item 76: Strive for failure atomicity308Item 77: Don’t ignore exceptions 31011 Concurrency311Item 78: Synchronize access to shared mutable data311Item 79: Avoid excessive synchronization 317Item 80: Prefer executors, tasks, and streams to threads323Item 81: Prefer concurrency utilities to wait and notify325Item 82: Document thread safety330Item 83: Use lazy initialization judiciously333Item 84: Don’t depend on the thread scheduler33612 Serialization339Item 85: Prefer alternatives to Java serialization339Item 86: Implement Serializable with great caution343Item 87: Consider using a custom serialized form346Item 88: Write readObject methods defensively353Item 89: For instance control, prefer enum types to readResolve 359Item 90: Consider serialization proes instead of serialized instances363Items Corresponding to Second Edition367References371Index377
作者介绍
约书亚·布洛克是卡耐基梅隆大学的教授。他曾经是Google公司的首席Java架构师、Sun公司的杰出工程师以及Transarc公司的不错系统设计师。Bloch曾带领团队设计并实现过无数的Java平台特性;包括K5.0语言增强版,并且Java集合框架上屡获殊荣。他拥有卡耐基梅隆大学的计算机科学博士学位以及哥伦比亚大学的计算机科学学士学位。
序言

—  没有更多了  —

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

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