< prev index next >

src/java.base/share/classes/java/lang/module/Configuration.java

Print this page

        

*** 40,51 **** --- 40,53 ---- import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; + import jdk.internal.misc.VM; import jdk.internal.module.ModuleReferenceImpl; import jdk.internal.module.ModuleTarget; + import jdk.internal.vm.annotation.Stable; /** * A configuration that is the result of <a href="package-summary.html#resolution"> * resolution</a> or resolution with * <a href="{@docRoot}/java.base/java/lang/module/Configuration.html#service-binding">service binding</a>.
*** 102,112 **** * @see java.lang.ModuleLayer */ public final class Configuration { // @see Configuration#empty() ! private static final Configuration EMPTY_CONFIGURATION = new Configuration(); // parent configurations, in search order private final List<Configuration> parents; private final Map<ResolvedModule, Set<ResolvedModule>> graph; --- 104,124 ---- * @see java.lang.ModuleLayer */ public final class Configuration { // @see Configuration#empty() ! // EMPTY_CONFIGURATION may be initialized from the CDS archive. ! private static @Stable Configuration EMPTY_CONFIGURATION; ! ! static { ! // Initialize EMPTY_CONFIGURATION from the archive. ! VM.initializeFromArchive(Configuration.class); ! // Create a new empty Configuration if there is no archived version. ! if (EMPTY_CONFIGURATION == null) { ! EMPTY_CONFIGURATION = new Configuration(); ! } ! } // parent configurations, in search order private final List<Configuration> parents; private final Map<ResolvedModule, Set<ResolvedModule>> graph;
< prev index next >