Targeted at intermediate-to-advanced developers, this is the definitive tutorial introduction and reference to the Java SE7 language and its essential libraries. Co-authored by "father of Java" James Gosling and two respected leaders of the global Java community, this book brings together exclusive insights and best practices for doing more with Java, and writing more robust, efficient, and maintainable software. Developers worldwide have used previous editions to quickly gain a deep understanding of the Java programming language, its design goals, and its most effective use in real-world development. Now, every chapter has been updated to reflect best practices for Java SE7 coding, and several entirely new sections have been added. The Java Programming Language, Fifth Edition systematically covers most classes in Java's main packages, java.lang.*, java.util, and java.io, presenting in-depth explanations of why these classes work as they do, along with exceptionally instructive examples. The authors help experienced programmers gain unprecedented mastery over features and techniques ranging from "anonymous inner classes" and reflection to I/O, threading, and collections. The authors present exceptionally clear and practical explanations drawn from their immense experience pioneering the Java platform, and illustrate many of these examples using simple mathematical problems.