Synopses & Reviews
Synopsis
The Definitive Guide to Java Platform Best Practices--Updated for Java 9
Java has changed dramatically since the previous edition of
Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers.
As in previous editions, each chapter of
Effective Java, Third Edition, consists of several "items," each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.
The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams.
New coverage includes
- 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 the Optional interface, java.time, and the convenience factory methods for collections
Normal 0 false false false EN-US X-NONE X-NONE
Synopsis
Since this Jolt-award winning classic was last updated in 2008, the Java programming environment has changed dramatically. Java 7 and Java 8 introduced new features and functions including, forEach() method in Iterable interface, default and static methods in Interfaces, Functional Interfaces and Lambda Expressions, Java Stream API for Bulk Data Operations on Collections, Java Time API, Collection API improvements, Concurrency API improvements, and Java IO improvements.
In this new edition of
Effective Java, Bloch explores new design patterns and language idioms that have been introduced since the second edition was released in 2008 shortly after Java SE6, including Lambda, streams, generics and collections, as well as selected Java 9 features.
As in previous editions, each chapter consists of several "items" presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why.
- Updated techniques and best practices on classic topics, including objects, classes, libraries, methods, and serialization
- How to avoid the traps and pitfalls of commonly misunderstood subtleties of the language
- Focus on the language and its most fundamental libraries: java.lang, java.util, and, to a lesser extent, java.util.concurrent and java.io
Synopsis
The definitive guide to Java programming language best practices from Josh Bloch
Each chapter of Effective Java, Third Edition, consists of several "items," each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. While coverage is through Java 9, this guidance covers core Java features every programmer works with, regardless of which version.
- Concurrency: write clear, correct, well-documented concurrent programs
- Objects: creating and destroying; common methods
- Classes and interfaces: guidelines for making them usable, robust, and flexible
- Generics: tell the compiler what types of objects are permitted in each collection for safer and clearer programs
- Enums and annotations: two special-purpose families of reference types
- Functions: break a big job into smaller pieces that might well be written by different people separated by both time and space.
- Lambdas and streams: create function objects with more ease
- Method designs: treat parameters and return values; design method signatures; document methods
- Exceptions: improve a program's readability, reliability, and maintainability
- Object serialization: the dangers of serialization and how to minimize them
- General programming:
- local variables
- control structures
- libraries
- data types
- reflection
- native methods
- optimization
- naming conventions
Programmers still consider this the best book on Java programming today.