JDK:
java.util.Arrays#asList()
java.io.InputStreamReader(InputStream) (returns a Reader)
java.io.OutputStreamWriter(OutputStream) (returns a Writer)
Composite pattern
is used when we have to represent a part-whole hierarchy. When we need to create a structure in a way that the objects in the structure has to be treated the same way.
Client:

JDK:
Java RMI
Flyweight pattern
Is used when we need to create a lot of Objects of a class. Since every object consumes memory space that can be crucial for low memory devices
Intrinsic properties make the Object unique whereas extrinsic properties are set by client code and used to perform different operations.
In below example there are no extrinsic properties. This pattern generally uses factory pattern within itself.
Client:

JDK:
wrapper classes valueOf in JDK
java string pool
Facade pattern
Provide a unified interface to a set of interfaces in a subsystem.
Facade Pattern defines a higher-level interface that makes the subsystem easier to use.
Client:

Decorator pattern
We use inheritance or composition to extend the behavior of an object but this is done at compile time and its applicable to all the instances of the class. We can’t add any new functionality of remove any existing behavior at runtime – this is when Decorator pattern comes into picture.
Client: