JAVA JDK 中的设计模式
You can find an overview of a lot design patterns in?Wikipedia. It also mentions which patterns are mentioned by GoF. I'll sum them up here and try to assign as much as possible pattern implementations found in both the Java SE and Java EE API's.
java.util.Calendar#getInstance()java.util.Arrays#asList()java.util.ResourceBundle#getBundle()java.net.URL#openConnection()java.sql.DriverManager#getConnection()java.sql.Connection#createStatement()java.sql.Statement#executeQuery()java.text.NumberFormat#getInstance()java.lang.management.ManagementFactory?(all?getXXX()?methods)java.nio.charset.Charset#forName()javax.xml.parsers.DocumentBuilderFactory#newInstance()javax.xml.transform.TransformerFactory#newInstance()javax.xml.xpath.XPathFactory#newInstance()java.lang.StringBuilder#append()?(unsynchronized)java.lang.StringBuffer#append()?(synchronized)java.nio.ByteBuffer#put()?(also on?CharBuffer,?ShortBuffer,?IntBuffer,?LongBuffer,FloatBuffer?and?DoubleBuffer)javax.swing.GroupLayout.Group#addComponent()java.lang.Appendablejava.lang.Object#toString()?(overrideable in all subclasses)java.lang.Class#newInstance()java.lang.Integer#valueOf(String)?(also on?Boolean,?Byte,?Character,?Short,?Long,Float?and?Double)java.lang.Class#forName()java.lang.reflect.Array#newInstance()java.lang.reflect.Constructor#newInstance()java.lang.Object#clone()?(the class has to implement?java.lang.Cloneable)java.lang.Runtime#getRuntime()java.awt.Desktop#getDesktop()java.io.InputStreamReader(InputStream)?(returns a?Reader)java.io.OutputStreamWriter(OutputStream)?(returns a?Writer)javax.xml.bind.annotation.adapters.XmlAdapter#marshal()?and?#unmarshal()new LinkedHashMap(LinkedHashSet<K>, List<V>)?which returns an unmodifiable linked map which doesn't clone the items, but?uses?them. The?java.util.Collections#newSetFromMap()?and?singletonXXX()?methods however comes close.java.util.Map#putAll(Map)java.util.List#addAll(Collection)java.util.Set#addAll(Collection)java.nio.ByteBuffer#put(ByteBuffer)?(also on?CharBuffer,?ShortBuffer,?IntBuffer,LongBuffer,?FloatBuffer?and?DoubleBuffer)java.awt.Container#add(Component)?(practically all over Swing thus)java.io.InputStream,?OutputStream,?Reader?and?Writer?have a constructor taking an instance of same type.java.util.List,?Set?and?Map?have a constructor taking an instance of same type.java.util.Collections, the?checkedXXX(),?synchronizedXXX()?and?unmodifiableXXX()methods.javax.servlet.http.HttpServletRequestWrapper?and?HttpServletResponseWrapperjavax.faces.context.FacesContext, it internally uses among others the abstract/interface types?LifeCycle,?ViewHandler,?NavigationHandler?and many more without that the enduser has to worry about it (which are however overrideable by injection).javax.faces.context.ExternalContext, which internally uses?ServletContext,font-size: 14px; vertical-