Skip to main content

13 docs tagged with "effective-java"

View all tags

Chapter 10: Exceptions

When used to best advantage, exceptions can improve a program's readability, reliability, and maintainability. When used improperly, they can have the opposite.

Chapter 11: Concurrency

Threads allow multiple activities to proceed concurrently. Concurrent programming is harder than single-threaded programming because more things can go wrong.

Chapter 12: Serialization

This chapter concerns **object serialization** — Java's framework for encoding objects as byte streams (*serializing*) and reconstructing objects from their.

Chapter 4: Classes and Interfaces

Classes and interfaces are the heart of the Java programming language. This chapter gives guidelines for making the best use of these language elements so that.

Chapter 5: Generics

Generics were added in Java 5. Before generics, you had to cast every object read from a collection — if someone accidentally inserted an object of the wrong.

Chapter 6: Enums and Annotations

Java supports two special-purpose families of reference types: *enum types* (a kind of class) and *annotation types* (a kind of interface). This chapter.

Chapter 7: Lambdas and Streams

Java 8 added lambda expressions, method references, and the Streams API. This chapter covers best practices for using these powerful new facilities.

Chapter 8: Methods

This chapter discusses several aspects of method design: how to treat parameters and return values, how to design method signatures, and how to document.

Chapter 9: General Programming

This chapter covers the nuts and bolts of Java programming: local variables, control structures, libraries, data types, and using two non-language features.

Introduction

**Effective Java (3rd Edition)** by Joshua Bloch is the definitive guide to writing correct, efficient, and maintainable Java code. It contains **90 items** -.