skip to content
Effective Java : programming language guide Preview this item
ClosePreview this item
Checking...

Effective Java : programming language guide

Author: Joshua Bloch
Publisher: Boston : Addison-Wesley, ©2001.
Series: Java series.
Edition/Format:   Print book : EnglishView all editions and formats
Summary:

Features advice on using the Java' programming language and object-oriented programming in general.

Rating:

(not yet rated) 0 with reviews - Be the first.

Subjects
More like this

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...

Details

Document Type: Book
All Authors / Contributors: Joshua Bloch
ISBN: 0201310058 9780201310054
OCLC Number: 318272609
Description: xvi, 252 p. ; 24 cm.
Contents: Foreword. Preface. Acknowledgements. 1. Introduction. 2. Creating and Destroying Objects. Consider Providing Static Factory Methods Instead of Constructors.Enforce the Singleton Property with a Private Constructor.Enforce Noninstantiability with a Private Constructor.Avoid Creating Duplicate Objects.Eliminate Obsolete Object References.Avoid Finalizers.3. Methods Common to All Objects. Obey the General Contract when Overriding Equals.Always Override HashCode When You Override Equals.Always Override to String.Override Clone Judiciously.Consider Implementing Comparable.4. Classes and Interfaces. Minimize the Accessibility of Classes and Members.Favor Immutability.Favor Composition Over Inheritance.Design and Document for Inheritance or Else Prohibit It.Prefer Interfaces to Abstract Classes.Use Interfaces Only to Define Types.Favor Static Member Classes Over Non-Static.5. Substitutes for C Constructs. Replace Structures with Classes.Replace Unions with Class Hierarchies.Replace Enums with Classes.Replace Function Pointers with Classes and Interfaces.6. Methods. Check Parameters for Validity.Make Defensive Copies when Needed.Design Method Signatures Carefully.Use Overloading Judiciously.Return Zero-Length Arrays, Not Nulls.Write Doc Comments for All Exposed API Elements.7. General Programming. Minimize the Scope of Local Variables.Know and Use the Libraries.Avoid Float and Double if Exact Answers are Required.Avoid Strings where Other Types are More Appropriate.Beware the Performance of String Concatenation.Refer to Objects by their Interfaces.Prefer Interfaces to Reflection.Use Native Methods Judiciously.Optimize Judiciously.Adhere to Generally Accepted Naming Conventions.8. Exceptions. Use Exceptions Only for Exceptional Conditions.Use Checked Exceptions for Recoverable Conditions, Runtime Exceptions for Programming Errors.Avoid Unnecessary Use of Checked Exceptions.Favor the Use of Standard Exceptions.Throw Exceptions Appropriate to the Abstraction.Document All Exceptions Thrown by Each Method.Include Failure-Capture Information in Detail Messages.Strive for Failure Atomicity.Don't Ignore Exceptions.9. Threads. Synchronize Access to Shared Mutable Data.Avoid Excessive Synchronization.Never Invoke Wait Outside a Loop.Don't Depend on the Thread Scheduler.Document Thread-Safety.Avoid Thread Groups.10. Serialization. Implement Serializable Judiciously.Consider Using a Custom Serialized Form.Write ReadObject Methods Defensively.Provide a ReadResolve Method when Necessary.References. Index.
Series Title: Java series.
Responsibility: Joshua Bloch ; [foreword by Guy Steele].

Reviews

User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...

Tags

Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data


\n\n

Primary Entity<\/h3>\n
<http:\/\/www.worldcat.org\/oclc\/318272609<\/a>> # Effective Java : programming language guide<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Book<\/a>, schema:CreativeWork<\/a> ;\u00A0\u00A0\u00A0\nlibrary:oclcnum<\/a> \"318272609<\/span>\" ;\u00A0\u00A0\u00A0\nlibrary:placeOfPublication<\/a> <http:\/\/id.loc.gov\/vocabulary\/countries\/mau<\/a>> ;\u00A0\u00A0\u00A0\nlibrary:placeOfPublication<\/a> <http:\/\/dbpedia.org\/resource\/Boston<\/a>> ; # Boston<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/dewey.info\/class\/005.133\/e21\/<\/a>> ;\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/java_lenguaje_de_programacion<\/a>> ; # Java (Lenguaje de programaci\u00F3n)<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/java_lenguaje_de_programacion_de_computadores<\/a>> ; # Java (Lenguaje de programaci\u00F3n de computadores)<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/lenguajes_de_programacion<\/a>> ; # Lenguajes de programaci\u00F3n<\/span>\n\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/java_programmiersprache<\/a>> ; # Java <\/span>\n\u00A0\u00A0\u00A0\nschema:bookFormat<\/a> bgn:PrintBook<\/a> ;\u00A0\u00A0\u00A0\nschema:copyrightYear<\/a> \"2001<\/span>\" ;\u00A0\u00A0\u00A0\nschema:creator<\/a> <http:\/\/viaf.org\/viaf\/71793922<\/a>> ; # Joshua Bloch<\/span>\n\u00A0\u00A0\u00A0\nschema:datePublished<\/a> \"2001<\/span>\" ;\u00A0\u00A0\u00A0\nschema:exampleOfWork<\/a> <http:\/\/worldcat.org\/entity\/work\/id\/53105885<\/a>> ;\u00A0\u00A0\u00A0\nschema:inLanguage<\/a> \"en<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isPartOf<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Series\/java_series<\/a>> ; # Java series.<\/span>\n\u00A0\u00A0\u00A0\nschema:isPartOf<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Series\/the_java_series<\/a>> ; # The Java series<\/span>\n\u00A0\u00A0\u00A0\nschema:name<\/a> \"Effective Java : programming language guide<\/span>\" ;\u00A0\u00A0\u00A0\nschema:numberOfPages<\/a> \"252<\/span>\" ;\u00A0\u00A0\u00A0\nschema:productID<\/a> \"318272609<\/span>\" ;\u00A0\u00A0\u00A0\nschema:publication<\/a> <http:\/\/www.worldcat.org\/title\/-\/oclc\/318272609#PublicationEvent\/boston_addison_wesley_2001<\/a>> ;\u00A0\u00A0\u00A0\nschema:publisher<\/a> <http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Agent\/addison_wesley<\/a>> ; # Addison-Wesley<\/span>\n\u00A0\u00A0\u00A0\nschema:workExample<\/a> <http:\/\/worldcat.org\/isbn\/9780201310054<\/a>> ;\u00A0\u00A0\u00A0\nwdrs:describedby<\/a> <http:\/\/www.worldcat.org\/title\/-\/oclc\/318272609<\/a>> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n\n

Related Entities<\/h3>\n
<http:\/\/dbpedia.org\/resource\/Boston<\/a>> # Boston<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Place<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Boston<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/dewey.info\/class\/005.133\/e21\/<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Agent\/addison_wesley<\/a>> # Addison-Wesley<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nbgn:Agent<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Addison-Wesley<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Series\/java_series<\/a>> # Java series.<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nbgn:PublicationSeries<\/a> ;\u00A0\u00A0\u00A0\nschema:hasPart<\/a> <http:\/\/www.worldcat.org\/oclc\/318272609<\/a>> ; # Effective Java : programming language guide<\/span>\n\u00A0\u00A0\u00A0\nschema:name<\/a> \"Java series.<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Series\/the_java_series<\/a>> # The Java series<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nbgn:PublicationSeries<\/a> ;\u00A0\u00A0\u00A0\nschema:hasPart<\/a> <http:\/\/www.worldcat.org\/oclc\/318272609<\/a>> ; # Effective Java : programming language guide<\/span>\n\u00A0\u00A0\u00A0\nschema:name<\/a> \"The Java series<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/java_lenguaje_de_programacion<\/a>> # Java (Lenguaje de programaci\u00F3n)<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Java (Lenguaje de programaci\u00F3n)<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/java_lenguaje_de_programacion_de_computadores<\/a>> # Java (Lenguaje de programaci\u00F3n de computadores)<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Java (Lenguaje de programaci\u00F3n de computadores)<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/java_programmiersprache<\/a>> # Java <\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Java <\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/experiment.worldcat.org\/entity\/work\/data\/53105885#Topic\/lenguajes_de_programacion<\/a>> # Lenguajes de programaci\u00F3n<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Intangible<\/a> ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Lenguajes de programaci\u00F3n<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/id.loc.gov\/vocabulary\/countries\/mau<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:Place<\/a> ;\u00A0\u00A0\u00A0\ndcterms:identifier<\/a> \"mau<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/viaf.org\/viaf\/71793922<\/a>> # Joshua Bloch<\/span>\n\u00A0\u00A0\u00A0\u00A0a \nschema:Person<\/a> ;\u00A0\u00A0\u00A0\nschema:familyName<\/a> \"Bloch<\/span>\" ;\u00A0\u00A0\u00A0\nschema:givenName<\/a> \"Joshua<\/span>\" ;\u00A0\u00A0\u00A0\nschema:name<\/a> \"Joshua Bloch<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/worldcat.org\/isbn\/9780201310054<\/a>>\u00A0\u00A0\u00A0\u00A0a \nschema:ProductModel<\/a> ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"0201310058<\/span>\" ;\u00A0\u00A0\u00A0\nschema:isbn<\/a> \"9780201310054<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n
<http:\/\/www.worldcat.org\/title\/-\/oclc\/318272609<\/a>>\u00A0\u00A0\u00A0\u00A0a \ngenont:InformationResource<\/a>, genont:ContentTypeGenericResource<\/a> ;\u00A0\u00A0\u00A0\nschema:about<\/a> <http:\/\/www.worldcat.org\/oclc\/318272609<\/a>> ; # Effective Java : programming language guide<\/span>\n\u00A0\u00A0\u00A0\nschema:dateModified<\/a> \"2019-03-17<\/span>\" ;\u00A0\u00A0\u00A0\nvoid:inDataset<\/a> <http:\/\/purl.oclc.org\/dataset\/WorldCat<\/a>> ;\u00A0\u00A0\u00A0\u00A0.\n\n\n<\/div>\n