< prev index next >
src/java.base/share/classes/java/nio/file/FileSystems.java
Print this page
8213406: (fs) More than one instance of built-in FileSystem observed in heap
Reviewed-by: alanb, cushon, weijun
*** 86,105 ****
*/
public final class FileSystems {
private FileSystems() { }
- // Built-in file system provider
- private static final FileSystemProvider builtinFileSystemProvider =
- sun.nio.fs.DefaultFileSystemProvider.create();
-
- // built-in file system
- private static class BuiltinFileSystemHolder {
- static final FileSystem builtinFileSystem =
- builtinFileSystemProvider.getFileSystem(URI.create("file:///"));
- }
-
// lazy initialization of default file system
private static class DefaultFileSystemHolder {
static final FileSystem defaultFileSystem = defaultFileSystem();
// returns default file system
--- 86,95 ----
*** 116,126 ****
return provider.getFileSystem(URI.create("file:///"));
}
// returns default provider
private static FileSystemProvider getDefaultProvider() {
! FileSystemProvider provider = builtinFileSystemProvider;
// if the property java.nio.file.spi.DefaultFileSystemProvider is
// set then its value is the name of the default provider (or a list)
String prop = "java.nio.file.spi.DefaultFileSystemProvider";
String propValue = System.getProperty(prop);
--- 106,117 ----
return provider.getFileSystem(URI.create("file:///"));
}
// returns default provider
private static FileSystemProvider getDefaultProvider() {
! FileSystemProvider provider =
! sun.nio.fs.DefaultFileSystemProvider.instance();
// if the property java.nio.file.spi.DefaultFileSystemProvider is
// set then its value is the name of the default provider (or a list)
String prop = "java.nio.file.spi.DefaultFileSystemProvider";
String propValue = System.getProperty(prop);
*** 187,197 ****
*/
public static FileSystem getDefault() {
if (VM.isModuleSystemInited()) {
return DefaultFileSystemHolder.defaultFileSystem;
} else {
! return BuiltinFileSystemHolder.builtinFileSystem;
}
}
/**
* Returns a reference to an existing {@code FileSystem}.
--- 178,188 ----
*/
public static FileSystem getDefault() {
if (VM.isModuleSystemInited()) {
return DefaultFileSystemHolder.defaultFileSystem;
} else {
! return sun.nio.fs.DefaultFileSystemProvider.theFileSystem();
}
}
/**
* Returns a reference to an existing {@code FileSystem}.
< prev index next >