Intended as a follow-up to Ivor Horton's classic 'Beginning Java', this comprehensive resource shows developers how to master advanced language features, plus when to use Java open source tools when core Java isn't enough. It begins with an overview of best methods and tools for developing Java applications, then examines the more sophisticated and nuanced parts of the Java SDK and offers a clear understanding of the power methods, tools, and features that can help make developers more productive. The final and most extensive part of the book shows how to implement the ideas discussed to build real-world applications using Java APIs as well as related Java open source tools. Fully updated to cover the JDK 6 release, the book also examines new Web services APIs, the next JDBC API, generics, metadata facility enhancements, and scripting (which will be more tightly integrated with the Java language).