< 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 >