Increasingly, Java developers are recognizing the value of patterns in helping to build more robust, effective software systems -- but most books on patterns are either generic or focused on other languages. Now, the creators of Sun's own course on Java patterns have written the definitive book for working developers. Replete with working code, this book offers practical help with all types of patterns, in every facet of development -- from individual classes to overall system architecture. First, the authors introduce the fundamentals of patterns, presenting a high-level overview of how they can be used most effectively in Java development, and introducing each key type of pattern: creational, behavioral, and structural. Next, they present specific techniques for using patterns with core Java APIs (including security, event, JavaBeans, and Swing APIs); and in advanced distributed development with JDBC, RMI, CORBA, JNDI, and JavaSpaces. The book concludes with detailed coverage of pattern use in enterprise systems built with servlets, JSP, and other J2EE infrastructure technologies.