## Uses of Class
java.util.ServiceLoader

Packages that use ServiceLoader
java.util: Contains the collections framework, legacy collection classes, event model, date and time facilities, internationalization, and miscellaneous utility classes (a string tokenizer, a random-number generator, and a bit array).
javax.tools: Provides interfaces for tools which can be invoked from a program, for example, compilers.

### Uses of ServiceLoader in java.util

Methods in java.util that return ServiceLoader
`static <S> ServiceLoader<S>` ServiceLoader.`load(Class<S> service)` Creates a new service loader for the given service type, using the current thread's context class loader.
`static <S> ServiceLoader<S>` ServiceLoader.`load(Class<S> service, ClassLoader loader)` Creates a new service loader for the given service type and class loader.
`static <S> ServiceLoader<S>` ServiceLoader.`load(Layer layer, Class<S> service)` Creates a new service loader for the given service type that loads service providers from modules in the given `Layer` and its ancestors.
`static <S> ServiceLoader<S>` ServiceLoader.`loadInstalled(Class<S> service)` Creates a new service loader for the given service type, using the platform class loader.

### Uses of ServiceLoader in javax.tools

Methods in javax.tools that return ServiceLoader
`<S> ServiceLoader<S>` ForwardingJavaFileManager.`getServiceLoader(JavaFileManager.Location location, Class<S> service)`
`default <S> ServiceLoader<S>` JavaFileManager.`getServiceLoader(JavaFileManager.Location location, Class<S> service)` Get a service loader for a specific service class from a given location.