JDK-6347833 : (fs) Enhance MappedByteBuffer to support sizes >2GB on 64 bit platforms
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.nio
  • Affected Version: 1.4.2,5.0
  • Priority: P5
  • Status: Closed
  • Resolution: Future Project
  • OS: linux
  • CPU: x86
  • Submitted: 2005-11-09
  • Updated: 2022-05-17
  • Resolved: 2010-08-31
Related Reports
Relates :  
Relates :  
Description
A DESCRIPTION OF THE REQUEST :
The current implementation of MappedByteBuffer imposes a 2GB maximum size limit even on 64 bit machines with operating systems and physical memory that could support larger sizes.

JUSTIFICATION :
The 2GB limit prevents Java applications calling MappedByteBuffer from taking advantage of the large memory available on 64 bit platforms.

Comments
Looks like MemorySegment is a way to deal with this issue via a combination of asSlice() and asByteBuffer().
17-05-2022

EVALUATION A MappedByteBuffer is a ByteBuffer with additional operations to support memory-mapped file regions. To support mapping a region larger than Integer.MAX_VALUE would require a parallel hierarchy of classes. For now the only solution is create multiple MappedByteBuffers where each corresponds to a region that is no larger than 2GB.
09-11-2005