Effective Java: Second Edition

Effective Java: Second Edition
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
出版社: Addison-Wesley
2008-05
ISBN: 9780321356680
装帧: 其他
开本: 其他
纸张: 其他
6人买过
  • Written for the working Java developer, Joshua Bloch's Effective Java Programming Language Guide provides a truly useful set of over 50 best practices and tips for writing better Java code. With plenty of advice from an indisputable expert in the field Joshua Bloch is chief Java architect at Google and a Jolt Award winner. He was previously a distinguished engineer at Sun Microsystems and a senior systems designer at Transarc. Bloch led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He coauthored Java™ Puzzlers (Addison-Wesley, 2005) and Java™ Concurrency in Practice (Addison-Wesley, 2006). Foreword
    Preface
    Acknowledgments
    1 Introduction
    2 Creating and Destroying Objects
    Item 1: Consider static factory methods instead of constructors
    Item 2: Consider a builder when faced with many constructor parameters
    Item 3: Enforce the singleton property with a private constructor or an enum type
    Item 4: Enforce noninstantiability with a private constructor
    Item 5: Avoid creating unnecessary objects
    Item 6: Eliminate obsolete object references
    Item 7: Avoid finalizers
    3 Methods Common to All Objects
    Item 8: Obey the general contract when overriding equals
    Item 9: Always override hashCode when you override equals
    Item 10: Always override toString
    Item 11: Override clone judiciously
    Item 12: Consider implementing Comparable
    4 Classes and Interfaces
    Item 13: Minimize the accessibility of classes and members
    Item 14: In public classes, use accessor methods, not public fields
    Item 15: Minimize mutability
    Item 16: Favor composition over inheritance
    Item 17: Design and document for inheritance or else prohibit it
    Item 18: Prefer interfaces to abstract classes
    Item 19: Use interfaces only to define types
    Item 20: Prefer class hierarchies to tagged classes
    Item 21: Use function objects to represent strategies
    Item 22: Favor static member classes over nonstatic
    5 Generics
    Item 23: Don't use raw types in new code
    Item 24: Eliminate unchecked warnings
    Item 25: Prefer lists to arrays
    Item 26: Favor generic types
    Item 27: Favor generic methods
    Item 28: Use bounded wildcards to increase API flexibility
    Item 29: Consider typesafe heterogeneous containers
    6 Enums and Annotations
    Item 30: Use enums instead of int constants
    Item 31: Use instance fields instead of ordinals
    Item 32: Use EnumSet instead of bit fields
    Item 33: Use EnumMap instead of ordinal indexing
    Item 34: Emulate extensible enums with interfaces
    Item 35: Prefer annotations to naming patterns
    Item 36: Consistently use the Override annotation
    Item 37: Use marker interfaces to define types
    7 Methods
    Item 38: Check parameters for validity
    Item 39: Make defensive copies when needed
    Item 40: Design method signatures carefully
    Item 41: Use overloading judiciously
    Item 42: Use varargs judiciously
    Item 43: Return empty arrays or collections, not nulls
    Item 44: Write doc comments for all exposed API elements
    8 General Programming
    Item 45: Minimize the scope of local variables
    Item 46: Prefer for-each loops to traditional for loops
    Item 47: Know and use the libraries
    Item 48: Avoid float and double if exact answers are required
    Item 49: Prefer primitive types to boxed primitives
    Item 50: Avoid strings where other types are more appropriate
    Item 51: Beware the performance of string concatenation
    Item 52: Refer to objects by their interfaces
    Item 53: Prefer interfaces to reflection
    Item 54: Use native methods judiciously
    Item 55: Optimize judiciously
    Item 56: Adhere to generally accepted naming conventions
    9 Exceptions
    Item 57: Use exceptions only for exceptional conditions
    Item 58: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors
    Item 59: Avoid unnecessary use of checked exceptions
    Item 60: Favor the use of standard exceptions
    Item 61: Throw exceptions appropriate to the abstraction
    Item 62: Document all exceptions thrown by each method
    Item 63: Include failure-capture information in detail messages
    Item 64: Strive for failure atomicity
    Item 65: Don't ignore exceptions
    10 Concurrency
    Item 66: Synchronize access to shared mutable data
    Item 67: Avoid excessive synchronization
    Item 68: Prefer executors and tasks to threads
    Item 69: Prefer concurrency utilities to wait and notify
    Item 70: Document thread safety
    Item 71: Use lazy initialization judiciously
    Item 72: Don't depend on the thread scheduler
    Item 73: Avoid thread groups
    11 Serialization
    Item 74: Implement Serializable judiciously
    Item 75: Consider using a custom serialized form
    Item 76: Write readObject methods defensively
    Item 77: For instance control, prefer enum types to readResolve
    Item 78: Consider serialization proxies instead of serialized instances
    Appendix: Items Corresponding to First Edition
    References
    Index
  • 内容简介:
    Written for the working Java developer, Joshua Bloch's Effective Java Programming Language Guide provides a truly useful set of over 50 best practices and tips for writing better Java code. With plenty of advice from an indisputable expert in the field
  • 作者简介:
    Joshua Bloch is chief Java architect at Google and a Jolt Award winner. He was previously a distinguished engineer at Sun Microsystems and a senior systems designer at Transarc. Bloch led the design and implementation of numerous Java platform features, including JDK 5.0 language enhancements and the award-winning Java Collections Framework. He coauthored Java™ Puzzlers (Addison-Wesley, 2005) and Java™ Concurrency in Practice (Addison-Wesley, 2006).
  • 目录:
    Foreword
    Preface
    Acknowledgments
    1 Introduction
    2 Creating and Destroying Objects
    Item 1: Consider static factory methods instead of constructors
    Item 2: Consider a builder when faced with many constructor parameters
    Item 3: Enforce the singleton property with a private constructor or an enum type
    Item 4: Enforce noninstantiability with a private constructor
    Item 5: Avoid creating unnecessary objects
    Item 6: Eliminate obsolete object references
    Item 7: Avoid finalizers
    3 Methods Common to All Objects
    Item 8: Obey the general contract when overriding equals
    Item 9: Always override hashCode when you override equals
    Item 10: Always override toString
    Item 11: Override clone judiciously
    Item 12: Consider implementing Comparable
    4 Classes and Interfaces
    Item 13: Minimize the accessibility of classes and members
    Item 14: In public classes, use accessor methods, not public fields
    Item 15: Minimize mutability
    Item 16: Favor composition over inheritance
    Item 17: Design and document for inheritance or else prohibit it
    Item 18: Prefer interfaces to abstract classes
    Item 19: Use interfaces only to define types
    Item 20: Prefer class hierarchies to tagged classes
    Item 21: Use function objects to represent strategies
    Item 22: Favor static member classes over nonstatic
    5 Generics
    Item 23: Don't use raw types in new code
    Item 24: Eliminate unchecked warnings
    Item 25: Prefer lists to arrays
    Item 26: Favor generic types
    Item 27: Favor generic methods
    Item 28: Use bounded wildcards to increase API flexibility
    Item 29: Consider typesafe heterogeneous containers
    6 Enums and Annotations
    Item 30: Use enums instead of int constants
    Item 31: Use instance fields instead of ordinals
    Item 32: Use EnumSet instead of bit fields
    Item 33: Use EnumMap instead of ordinal indexing
    Item 34: Emulate extensible enums with interfaces
    Item 35: Prefer annotations to naming patterns
    Item 36: Consistently use the Override annotation
    Item 37: Use marker interfaces to define types
    7 Methods
    Item 38: Check parameters for validity
    Item 39: Make defensive copies when needed
    Item 40: Design method signatures carefully
    Item 41: Use overloading judiciously
    Item 42: Use varargs judiciously
    Item 43: Return empty arrays or collections, not nulls
    Item 44: Write doc comments for all exposed API elements
    8 General Programming
    Item 45: Minimize the scope of local variables
    Item 46: Prefer for-each loops to traditional for loops
    Item 47: Know and use the libraries
    Item 48: Avoid float and double if exact answers are required
    Item 49: Prefer primitive types to boxed primitives
    Item 50: Avoid strings where other types are more appropriate
    Item 51: Beware the performance of string concatenation
    Item 52: Refer to objects by their interfaces
    Item 53: Prefer interfaces to reflection
    Item 54: Use native methods judiciously
    Item 55: Optimize judiciously
    Item 56: Adhere to generally accepted naming conventions
    9 Exceptions
    Item 57: Use exceptions only for exceptional conditions
    Item 58: Use checked exceptions for recoverable conditions and runtime exceptions for programming errors
    Item 59: Avoid unnecessary use of checked exceptions
    Item 60: Favor the use of standard exceptions
    Item 61: Throw exceptions appropriate to the abstraction
    Item 62: Document all exceptions thrown by each method
    Item 63: Include failure-capture information in detail messages
    Item 64: Strive for failure atomicity
    Item 65: Don't ignore exceptions
    10 Concurrency
    Item 66: Synchronize access to shared mutable data
    Item 67: Avoid excessive synchronization
    Item 68: Prefer executors and tasks to threads
    Item 69: Prefer concurrency utilities to wait and notify
    Item 70: Document thread safety
    Item 71: Use lazy initialization judiciously
    Item 72: Don't depend on the thread scheduler
    Item 73: Avoid thread groups
    11 Serialization
    Item 74: Implement Serializable judiciously
    Item 75: Consider using a custom serialized form
    Item 76: Write readObject methods defensively
    Item 77: For instance control, prefer enum types to readResolve
    Item 78: Consider serialization proxies instead of serialized instances
    Appendix: Items Corresponding to First Edition
    References
    Index
查看详情
相关图书 / 更多
Effective Java: Second Edition
EffectiveTeamwork:PracticalLessonsfromOrganizationalResearch
Michael A. West 著
Effective Java: Second Edition
Effective数据科学基础设施
[芬兰]维莱·图洛斯(Ville Tuulos)著 郭涛 译
Effective Java: Second Edition
Effective TypeScript:精进TypeScript代码的62个实践方法
[美]丹·范德卡姆(Dan Vanderkam);王瑞鹏;董强
Effective Java: Second Edition
EffectiveLeadershipinAdventureProgramming
Simon Priest 著
Effective Java: Second Edition
Effective软件测试
[荷兰]毛里西奥·阿尼什(Maurício Aniche)著 朱少民 李洁 张元 译
Effective Java: Second Edition
Effective Python:编写高质量Python代码的90个有效方法(原书第2版)
[美]布雷特·斯拉特金(Brett Slatkin)
Effective Java: Second Edition
Effective C中文版
[美]罗伯特·C. 西科德(Robert C. Seacord)
Effective Java: Second Edition
Effective Python:改善Python程序的90个建议 (第2版)(英文版)
[美]Brett Slatkin(布雷特·斯莱特金)
Effective Java: Second Edition
EffectiveSupervision:SupportingtheArtandScienceofTeaching
Robert J. Marzano 著
Effective Java: Second Edition
EffectiveHelpingInterviewingandCounselingT
Barbara F. Okun、Ricki E. Kantrowitz 著
Effective Java: Second Edition
Effective Cybersecurity 中文版
[美]威廉·斯托林斯(William Stallings)
Effective Java: Second Edition
EffectiveWritinginPsychology
Bernard C. Beins、Agatha M. Beins 著
您可能感兴趣 / 更多
Effective Java: Second Edition
人工智能蓝图
Joshua Eckroth
Effective Java: Second Edition
C++ Crash Course
Joshua Lospinoso
Effective Java: Second Edition
Atlas Obscura:An Explorer's Guide to the World's Hidden Wonders
Joshua Foer;Dylan Thuras;Ella Morton
Effective Java: Second Edition
EngineeredNanoporesforBioanalyticalApplications(Micro&NanoTechnologies)
Joshua B. Edel、Tim Albrecht 著
Effective Java: Second Edition
Moonwalking with Einstein: The Art and Science of Remembering Everything
Joshua Foer 著
Effective Java: Second Edition
MasteringXcode4
Joshua Nozzi 著
Effective Java: Second Edition
JoshuaJay'sAmazingBookofCards[WithDVD]
Joshua Jay 著
Effective Java: Second Edition
OperationStormCity
Joshua Mowll 著
Effective Java: Second Edition
Magic:TheCompleteCourse[WithDVD]
Joshua Jay 著
Effective Java: Second Edition
ADogCalledGrk
Joshua Doder 著
Effective Java: Second Edition
Effective Java:Programming Language Guide (Java Series)
Joshua Bloch
Effective Java: Second Edition
ThePassingofArmies:AnAccountOfTheFinalCampaignOfTheArmyOfThePotomac
Joshua Chamberlain 著