Java has quickly become one of the most important languages in programming, particularly for professional and enterprise-level projects. From its infancy as a language primarily used for web applets to its maturity through servlets, Enterprise JavaBeans, and database access, Java has become a complex and robust tool for today's developer. Hardcore Java takes this language and breaks it apart, piece by piece, revealing the important secrets and tricks that will take you from a junior-level programmer to a seasoned and expert developer. You'll fly through the fundamentals and quickly find yourself learning about advanced memory management techniques, optimization and bytecode-level enhancements, and the techniques required to build lightning-fast GUIs. Throughout the book, you'll also master the art of writing and maintaining bulletproof and error-proof code, all while grasping the intricacies of the Java language. Hardcore Java covers:
Use of the final keyword to optimize and protect your Java classes.
Complete and thorough coverage of all types of nested classes, including how to optimize anonymous and inner classes.
Detailed discussion of immutable objects, including unique tips on when to use them (and when not to).
Elimination of bugs through exception-handling management.
In-depth studies of constants, including their impact on the Java memory model.
The most thorough discussion of reflection in print, moving far beyond other books' "Hello World" coverage.
Construction and use of dynamic proxies, in both Java Standard and Enterprise editions.
Expansive coverage of weak references, including usage patterns and their role in garbage collection and memory management.
Hardcore Java is an invaluable addition to every programmer's library, and even the most advanced developers will find themselves moving beyond their own conceptions into truly advanced applications of the language. Thousands of lines of code, heavily commented and easily runnable, illustrate each concept in the book.