Design Patterns are used by developers to document a particular approach to solving a complex problem. This can then be used in future projects to give a structured approach to a similar problem.
The most commonly used patterns are the Gang of Four (GoF) patterns and are discussed here:
http://www.fluffycat.com/java-design-patterns/
http://www.fluffycat.com/java-design-patterns/
If you would like information on J2EE patterns, there is a good article here:
http://www.onjava.com/pub/a/onjava/2002/01/16/patterns.html
http://www.onjava.com/pub/a/onjava/2002/01/16/patterns.html