Package it.unimi.dsi.util
Class ByteBufferLongBigList
java.lang.Object
java.util.AbstractCollection<Long>
it.unimi.dsi.fastutil.longs.AbstractLongCollection
it.unimi.dsi.fastutil.longs.AbstractLongBigList
it.unimi.dsi.util.ByteBufferLongBigList
- All Implemented Interfaces:
BigList<Long>
,LongBigList
,LongCollection
,LongIterable
,LongStack
,Size64
,Stack<Long>
,FlyweightPrototype<ByteBufferLongBigList>
,Comparable<BigList<? extends Long>>
,Iterable<Long>
,Collection<Long>
@Deprecated
public class ByteBufferLongBigList
extends AbstractLongBigList
implements FlyweightPrototype<ByteBufferLongBigList>
Deprecated.
A bridge between byte buffers and long big
lists.
Java's memory-mapping facilities have the
severe limitation of mapping at most Integer.MAX_VALUE
bytes, as they expose the content
of a file using a MappedByteBuffer
. This class can
expose a file of longs of arbitrary
length as a LongBigList
that is actually based on an array of MappedByteBuffer
s,
each mapping a chunk of CHUNK_SIZE
longs.
Instances of this class are not thread safe, but the copy()
method provides a
lightweight duplicate that can be accessed independently by another thread. Only chunks that are
actually used will be duplicated lazily.
- Author:
- Sebastiano Vigna
-
Nested Class Summary
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.longs.AbstractLongBigList
AbstractLongBigList.LongRandomAccessSubList, AbstractLongBigList.LongSubList
-
Field Summary
Modifier and TypeFieldDescriptionstatic final long
Deprecated.The size in longs of a chunk created bymap(FileChannel, ByteOrder, FileChannel.MapMode)
. -
Constructor Summary
ModifierConstructorDescriptionByteBufferLongBigList
(ByteBuffer byteBuffer) Deprecated.Creates a new byte-buffer long big list from a singleByteBuffer
.protected
ByteBufferLongBigList
(ByteBuffer[] byteBuffer, long size, boolean[] readyToUse) Deprecated.Creates a new byte-buffer long big list. -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Deprecated.Returns a copy of this object, sharing state with this object as much as possible.long
getLong
(long index) Deprecated.static ByteBufferLongBigList
map
(FileChannel fileChannel) Deprecated.Creates a new byte-buffer long big list by read-only mapping a given file channel using the standard Java (i.e.,DataOutput
) byte order (ByteOrder.BIG_ENDIAN
).static ByteBufferLongBigList
map
(FileChannel fileChannel, ByteOrder byteOrder) Deprecated.Creates a new byte-buffer long big list by read-only mapping a given file channel.static ByteBufferLongBigList
map
(FileChannel fileChannel, ByteOrder byteOrder, FileChannel.MapMode mapMode) Deprecated.Creates a new byte-buffer long big list by mapping a given file channel.long
set
(long index, long value) Deprecated.long
size64()
Deprecated.Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongBigList
add, add, add, addAll, addAll, addAll, addAll, addElements, addElements, clear, compareTo, contains, ensureIndex, ensureRestrictedIndex, equals, forEach, get, getElements, hashCode, indexOf, indexOf, iterator, lastIndexOf, lastIndexOf, listIterator, listIterator, peek, peekLong, pop, popLong, push, push, rem, remove, removeElements, removeLong, set, setElements, size, size, subList, top, topLong, toString
Methods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongCollection
add, contains, containsAll, containsAll, forEach, remove, removeAll, removeAll, removeIf, retainAll, retainAll, toArray, toLongArray, toLongArray
Methods inherited from class java.util.AbstractCollection
isEmpty, toArray, toArray
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
containsAll, isEmpty, removeAll, retainAll, toArray, toArray, toArray
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongBigList
addAll, addAll, addAll, addAll, getElements, setElements, setElements, spliterator
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongCollection
add, contains, containsAll, longIterator, longParallelStream, longSpliterator, longStream, parallelStream, remove, removeAll, removeIf, removeIf, removeIf, retainAll, stream, toArray, toLongArray, toLongArray
Methods inherited from interface it.unimi.dsi.fastutil.longs.LongIterable
forEach, forEach
-
Field Details
-
CHUNK_SIZE
public static final long CHUNK_SIZEDeprecated.The size in longs of a chunk created bymap(FileChannel, ByteOrder, FileChannel.MapMode)
.
-
-
Constructor Details
-
ByteBufferLongBigList
Deprecated.Creates a new byte-buffer long big list from a singleByteBuffer
.- Parameters:
byteBuffer
- the underlying byte buffer.
-
ByteBufferLongBigList
Deprecated.Creates a new byte-buffer long big list.- Parameters:
byteBuffer
- the underlying byte buffers.size
- the overall number of longs in the underlying byte buffers (i.e., the sum of the capacities of the byte buffers divided by eight).readyToUse
- an array parallel tobyteBuffer
specifying which buffers do not need to be duplicated before being used (the process will happen lazily); the array will be used internally by the newly created byte-buffer long big list.
-
-
Method Details
-
map
Deprecated.Creates a new byte-buffer long big list by read-only mapping a given file channel using the standard Java (i.e.,DataOutput
) byte order (ByteOrder.BIG_ENDIAN
).- Parameters:
fileChannel
- the file channel that will be mapped.- Returns:
- a new read-only byte-buffer long big list over the contents of
fileChannel
. - Throws:
IOException
- See Also:
-
map
public static ByteBufferLongBigList map(FileChannel fileChannel, ByteOrder byteOrder) throws IOException Deprecated.Creates a new byte-buffer long big list by read-only mapping a given file channel.- Parameters:
fileChannel
- the file channel that will be mapped.byteOrder
- a prescribed byte order.- Returns:
- a new read-only byte-buffer long big list over the contents of
fileChannel
. - Throws:
IOException
- See Also:
-
map
public static ByteBufferLongBigList map(FileChannel fileChannel, ByteOrder byteOrder, FileChannel.MapMode mapMode) throws IOException Deprecated.Creates a new byte-buffer long big list by mapping a given file channel.- Parameters:
fileChannel
- the file channel that will be mapped.byteOrder
- a prescribed byte order.mapMode
- the mapping mode: usuallyFileChannel.MapMode.READ_ONLY
, but if intend to make the list mutable, you have to passFileChannel.MapMode.READ_WRITE
.- Returns:
- a new byte-buffer long big list over the contents of
fileChannel
. - Throws:
IOException
-
copy
Deprecated.Description copied from interface:FlyweightPrototype
Returns a copy of this object, sharing state with this object as much as possible.- Specified by:
copy
in interfaceFlyweightPrototype<ByteBufferLongBigList>
- Returns:
- a copy of this object, sharing state with this object as much as possible.
-
getLong
public long getLong(long index) Deprecated.- Specified by:
getLong
in interfaceLongBigList
-
set
public long set(long index, long value) Deprecated.- Specified by:
set
in interfaceLongBigList
- Overrides:
set
in classAbstractLongBigList
-
size64
public long size64()Deprecated.
-
LongMappedBigList
instead.