< prev index next >
src/java.base/share/classes/java/lang/Module.java
Print this page
@@ -253,57 +253,49 @@
// special Module to mean "everyone"
private static final Module EVERYONE_MODULE;
private static final Set<Module> EVERYONE_SET;
private static class ArchivedData {
- private static ArchivedData singleton;
-
- private final Module ALL_UNNAMED_MODULE;
- private final Set<Module> ALL_UNNAMED_MODULE_SET;
- private final Module EVERYONE_MODULE;
- private final Set<Module> EVERYONE_SET;
-
- public ArchivedData(Module ALL_UNNAMED_MODULE,
- Set<Module> ALL_UNNAMED_MODULE_SET,
- Module EVERYONE_MODULE,
- Set<Module> EVERYONE_SET) {
- this.ALL_UNNAMED_MODULE = ALL_UNNAMED_MODULE;
- this.ALL_UNNAMED_MODULE_SET = ALL_UNNAMED_MODULE_SET;
- this.EVERYONE_MODULE = EVERYONE_MODULE;
- this.EVERYONE_SET = EVERYONE_SET;
+ private static ArchivedData archivedData;
+ private final Module allUnnamedModule;
+ private final Set<Module> allUnnamedModules;
+ private final Module everyoneModule;
+ private final Set<Module> everyoneSet;
+
+ private ArchivedData() {
+ this.allUnnamedModule = ALL_UNNAMED_MODULE;
+ this.allUnnamedModules = ALL_UNNAMED_MODULE_SET;
+ this.everyoneModule = EVERYONE_MODULE;
+ this.everyoneSet = EVERYONE_SET;
}
- static void archive(ArchivedData archivedData) {
- singleton = archivedData;
+ static void archive() {
+ archivedData = new ArchivedData();
}
static ArchivedData get() {
- return singleton;
+ return archivedData;
}
static {
VM.initializeFromArchive(ArchivedData.class);
}
}
static {
ArchivedData archivedData = ArchivedData.get();
if (archivedData != null) {
- ALL_UNNAMED_MODULE = archivedData.ALL_UNNAMED_MODULE;
- ALL_UNNAMED_MODULE_SET = archivedData.ALL_UNNAMED_MODULE_SET;
- EVERYONE_MODULE = archivedData.EVERYONE_MODULE;
- EVERYONE_SET = archivedData.EVERYONE_SET;
+ ALL_UNNAMED_MODULE = archivedData.allUnnamedModule;
+ ALL_UNNAMED_MODULE_SET = archivedData.allUnnamedModules;
+ EVERYONE_MODULE = archivedData.everyoneModule;
+ EVERYONE_SET = archivedData.everyoneSet;
} else {
ALL_UNNAMED_MODULE = new Module(null);
ALL_UNNAMED_MODULE_SET = Set.of(ALL_UNNAMED_MODULE);
EVERYONE_MODULE = new Module(null);
EVERYONE_SET = Set.of(EVERYONE_MODULE);
-
- ArchivedData.archive(new ArchivedData(ALL_UNNAMED_MODULE,
- ALL_UNNAMED_MODULE_SET,
- EVERYONE_MODULE,
- EVERYONE_SET));
+ ArchivedData.archive();
}
}
/**
* The holder of data structures to support readability, exports, and
< prev index next >