--- old/src/java.base/share/classes/sun/nio/ch/Util.java 2018-07-25 11:31:34.516938734 +0100 +++ new/src/java.base/share/classes/sun/nio/ch/Util.java 2018-07-25 11:31:34.245937925 +0100 @@ -415,7 +415,8 @@ new Class[] { int.class, long.class, FileDescriptor.class, - Runnable.class }); + Runnable.class, + boolean.class }); ctor.setAccessible(true); directByteBufferConstructor = ctor; } catch (ClassNotFoundException | @@ -430,7 +431,8 @@ static MappedByteBuffer newMappedByteBuffer(int size, long addr, FileDescriptor fd, - Runnable unmapper) + Runnable unmapper, + boolean isPersistent) { MappedByteBuffer dbb; if (directByteBufferConstructor == null) @@ -440,7 +442,8 @@ new Object[] { size, addr, fd, - unmapper }); + unmapper, + isPersistent}); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) { @@ -460,7 +463,8 @@ new Class[] { int.class, long.class, FileDescriptor.class, - Runnable.class }); + Runnable.class, + boolean.class }); ctor.setAccessible(true); directByteBufferRConstructor = ctor; } catch (ClassNotFoundException | @@ -475,7 +479,8 @@ static MappedByteBuffer newMappedByteBufferR(int size, long addr, FileDescriptor fd, - Runnable unmapper) + Runnable unmapper, + boolean isPersistent) { MappedByteBuffer dbb; if (directByteBufferRConstructor == null) @@ -485,7 +490,8 @@ new Object[] { size, addr, fd, - unmapper }); + unmapper, + isPersistent}); } catch (InstantiationException | IllegalAccessException | InvocationTargetException e) {