30 import java.nio.ByteBuffer;
31 import java.nio.MappedByteBuffer;
32 import java.nio.channels.ClosedByInterruptException;
33 import java.nio.channels.ClosedChannelException;
34 import java.nio.channels.FileChannel;
35 import java.nio.channels.FileLock;
36 import java.nio.channels.FileLockInterruptionException;
37 import java.nio.channels.NonReadableChannelException;
38 import java.nio.channels.NonWritableChannelException;
39 import java.nio.channels.OverlappingFileLockException;
40 import java.nio.channels.ReadableByteChannel;
41 import java.nio.channels.SelectableChannel;
42 import java.nio.channels.WritableByteChannel;
43 import java.security.AccessController;
44 import java.util.ArrayList;
45 import java.util.List;
46
47 import jdk.internal.misc.JavaIOFileDescriptorAccess;
48 import jdk.internal.misc.JavaNioAccess;
49 import jdk.internal.misc.SharedSecrets;
50 import sun.misc.Cleaner;
51 import sun.security.action.GetPropertyAction;
52
53 public class FileChannelImpl
54 extends FileChannel
55 {
56 // Memory allocation size for mapping buffers
57 private static final long allocationGranularity;
58
59 // Access to FileDispatcher internals
60 private static final JavaIOFileDescriptorAccess fdAccess =
61 SharedSecrets.getJavaIOFileDescriptorAccess();
62
63 // Used to make native read and write calls
64 private final FileDispatcher nd;
65
66 // File descriptor
67 private final FileDescriptor fd;
68
69 // File access mode (immutable)
70 private final boolean writable;
|
30 import java.nio.ByteBuffer;
31 import java.nio.MappedByteBuffer;
32 import java.nio.channels.ClosedByInterruptException;
33 import java.nio.channels.ClosedChannelException;
34 import java.nio.channels.FileChannel;
35 import java.nio.channels.FileLock;
36 import java.nio.channels.FileLockInterruptionException;
37 import java.nio.channels.NonReadableChannelException;
38 import java.nio.channels.NonWritableChannelException;
39 import java.nio.channels.OverlappingFileLockException;
40 import java.nio.channels.ReadableByteChannel;
41 import java.nio.channels.SelectableChannel;
42 import java.nio.channels.WritableByteChannel;
43 import java.security.AccessController;
44 import java.util.ArrayList;
45 import java.util.List;
46
47 import jdk.internal.misc.JavaIOFileDescriptorAccess;
48 import jdk.internal.misc.JavaNioAccess;
49 import jdk.internal.misc.SharedSecrets;
50 import jdk.internal.ref.Cleaner;
51 import sun.security.action.GetPropertyAction;
52
53 public class FileChannelImpl
54 extends FileChannel
55 {
56 // Memory allocation size for mapping buffers
57 private static final long allocationGranularity;
58
59 // Access to FileDispatcher internals
60 private static final JavaIOFileDescriptorAccess fdAccess =
61 SharedSecrets.getJavaIOFileDescriptorAccess();
62
63 // Used to make native read and write calls
64 private final FileDispatcher nd;
65
66 // File descriptor
67 private final FileDescriptor fd;
68
69 // File access mode (immutable)
70 private final boolean writable;
|