final class UnsafeMapData extends MapData with Externalizable with KryoSerializable
An Unsafe implementation of Map which is backed by raw memory instead of Java objects.
Currently we just use 2 UnsafeArrayData to represent UnsafeMapData, with extra 8 bytes at head to indicate the number of bytes of the unsafe key array. [unsafe key array numBytes] [unsafe key array] [unsafe value array]
Note that, user is responsible to guarantee that the key array does not have duplicated elements, otherwise the behavior is undefined.
- Alphabetic
- By Inheritance
- UnsafeMapData
- KryoSerializable
- Externalizable
- MapData
- Serializable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new UnsafeMapData()
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def copy(): UnsafeMapData
- Definition Classes
- UnsafeMapData → MapData
- Annotations
- @Override()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def foreach(keyType: DataType, valueType: DataType, f: (Any, Any) => Unit): Unit
- Definition Classes
- MapData
- def getBaseObject(): AnyRef
- def getBaseOffset(): Long
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getSizeInBytes(): Int
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def keyArray(): UnsafeArrayData
- Definition Classes
- UnsafeMapData → MapData
- Annotations
- @Override()
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def numElements(): Int
- Definition Classes
- UnsafeMapData → MapData
- Annotations
- @Override()
- def pointTo(baseObject: AnyRef, baseOffset: Long, sizeInBytes: Int): Unit
Update this UnsafeMapData to point to different backing data.
Update this UnsafeMapData to point to different backing data.
- baseObject
the base object
- baseOffset
the offset within the base object
- sizeInBytes
the size of this map's backing data, in bytes
- def read(kryo: Kryo, input: Input): Unit
- Definition Classes
- UnsafeMapData → KryoSerializable
- Annotations
- @Override()
- def readExternal(in: ObjectInput): Unit
- Definition Classes
- UnsafeMapData → Externalizable
- Annotations
- @Override()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def valueArray(): UnsafeArrayData
- Definition Classes
- UnsafeMapData → MapData
- Annotations
- @Override()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def write(kryo: Kryo, output: Output): Unit
- Definition Classes
- UnsafeMapData → KryoSerializable
- Annotations
- @Override()
- def writeExternal(out: ObjectOutput): Unit
- Definition Classes
- UnsafeMapData → Externalizable
- Annotations
- @Override()
- def writeTo(buffer: ByteBuffer): Unit
- def writeToMemory(target: AnyRef, targetOffset: Long): Unit