Best used for objects which depend on internals during invoking a call, but are stateless otherwise, like SimpleDateFormat, Marshaller
SimpleDateFormat
Marshaller
For Random ThreadLocal usage, consider using ThreadLocalRandom
Random
ThreadLocalRandom