Effective Java, 3rd edition

Published by Addison-Wesley Professional (December 27, 2017) © 2018

  • Joshua Bloch

eTextbook

$52.99

  • Available for purchase from all major ebook resellers, including InformIT.com.
  • To request a review copy, click on the "Request a Review Copy" button.
$47.99

  • A print text (hardcover or paperback) 
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

Since this Jolt-award winning classic was last updated in 2008 (shortly after Java 6 was released), Java has changed dramatically. The principal enhancement in Java 8 was the addition of functional programming constructs to Java's object-oriented roots. Java 7, 8, and 9 also introduced language features, such as the try-with-resources statement, the diamond operator for generic types, default and static methods in interfaces, the @SafeVarargs annotation, and modules. New library features include pervasive use of functional interfaces and streams, the java.time package for manipulating dates and times, and numerous minor enhancements such as convenience factory methods for collections.

In this new edition of Effective Java, Bloch updates the work to take advantage of these new language and library features, and provides specific best practices for their use. Java's increased support for multiple paradigms increases the need for best-practices advice, and this book delivers. 

  • Presents the most practical, authoritative guidelines available for writing efficient, well-designed programs for the Java platform
  • Completely updated for Java releases since 2008
  • Java programming paradigm has evolved significantly in last 5 years and new material covered in this edition is critical to modern Java programming

 Thoroughly revised and updated to cover language and library features added in Java 7, 8, and 9, and recent trends in Java programming. Many new items have been added, including a chapter devoted to lambdas and streams. New topics include:

--Functional interfaces, lambda expressions, method references, and streams
--Default and static methods in interfaces

--Type inference, including the diamond operator for generic types

--The @SafeVarargs annotation

--The try-with-resources statement

--New library features such as java.time and the convenience factory methods for collections

  • Chapter 1: Introduction
  • Chapter 2: Creating and Destroying Objects
  • Chapter 3: Methods Common to All Objects
  • Chapter 4: Classes and Interfaces
  • Chapter 5: Generics
  • Chapter 6: Enums and Annotations
  • Chapter 7: Lambdas and Streams
  • Chapter 8: Methods
  • Chapter 9: General Programming
  • Chapter 10: Exceptions
  • Chapter 11: Concurrency
  • Chapter 12: Serialization
  • References
  • Index
Joshua Bloch is a professor at Carnegie Mellon University. He was formerly the chief Java architect at Google, a distinguished engineer at Sun Microsystems, and a senior systems designer at Transarc. He led the design and implementation of numerous Java platform features, including the JDK 5.0 language enhancements and the Java Collections Framework. He holds a Ph.D. in computer science from Carnegie Mellon University and a B.S. in computer science from Columbia University.

Need help? Get in touch

Video
Play
Privacy and cookies
By watching, you agree Pearson can share your viewership data for marketing and analytics for one year, revocable by deleting your cookies.

Pearson eTextbook: What’s on the inside just might surprise you

They say you can’t judge a book by its cover. It’s the same with your students. Meet each one right where they are with an engaging, interactive, personalized learning experience that goes beyond the textbook to fit any schedule, any budget, and any lifestyle.Â