# Uses of Class
java.util.ServiceLoader

Packages that use ServiceLoader
Package
Description
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.
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
  Modifier and Type
  Method
  Description
  `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.
  `static <S> ServiceLoader<S>`
  ServiceLoader.`load(ModuleLayer layer, Class<S> service)`
  Creates a new service loader for the given service type to load service providers from modules in the given module 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
  Modifier and Type
  Method
  Description
  `<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.