| Interface | Description |
|---|---|
| Bind.MapListener<K,V> |
Listener called when `Map` is modified.
|
| Bind.MapWithModificationListener<K,V> |
Primary Maps must provide notifications when it is modified.
|
| BTreeMap.BNode |
common interface for BTree node
|
| Caches.WeakSoftRef.CacheItem | |
| CC |
Compiler Configuration.
|
| DBMaker.Keys | |
| Engine |
Centerpiece for record management, `Engine` is simple key value store.
|
| Fun.Function0<R> | |
| Fun.Function1<R,A> | |
| Fun.Function2<R,A,B> | |
| Hasher<K> |
Calculates hash from an object.
|
| LongMap.LongMapIterator<V> |
Iterates over LongMap key and values without boxing long keys
|
| Serializer<A> |
Provides serialization and deserialization
|
| SerializerBase.Header |
Header byte, is used at start of each record to indicate data type
WARNING !!! values bellow must be unique !!!!!
|
| SerializerBase.HeaderMapDB | |
| TxBlock |
Wraps single transaction in a block
|
| Volume.Factory |
Factory which creates two/three volumes used by each MapDB Storage Engine
|
| Class | Description |
|---|---|
| AsyncWriteEngine |
Engine wrapper which provides asynchronous serialization and asynchronous write. |
| AsyncWriteEngine.WriterRunnable | |
| Atomic |
A small toolkit of classes that support lock-free thread-safe
programming on single records.
|
| Atomic.Boolean |
A
boolean record that may be updated atomically. |
| Atomic.Integer |
An
int record that may be updated atomically. |
| Atomic.Long |
A
long record that may be updated atomically. |
| Atomic.String |
A
String record that may be updated atomically. |
| Atomic.Var<E> |
Atomically updated variable which may contain any type of record.
|
| Bind |
Binding is simple yet powerful way to keep secondary collection synchronized with primary collection.
|
| BTreeKeySerializer<K> |
Custom serializer for BTreeMap keys which enables [Delta encoding](https://en.wikipedia.org/wiki/Delta_encoding).
|
| BTreeKeySerializer.BasicKeySerializer |
Basic Key Serializer which just writes data without applying any compression.
|
| BTreeKeySerializer.Tuple2KeySerializer<A,B> |
Applies delta compression on array of tuple.
|
| BTreeKeySerializer.Tuple3KeySerializer<A,B,C> |
Applies delta compression on array of tuple.
|
| BTreeKeySerializer.Tuple4KeySerializer<A,B,C,D> |
Applies delta compression on array of tuple.
|
| BTreeKeySerializer.Tuple5KeySerializer<A,B,C,D,E> |
Applies delta compression on array of tuple.
|
| BTreeKeySerializer.Tuple6KeySerializer<A,B,C,D,E,F> |
Applies delta compression on array of tuple.
|
| BTreeMap<K,V> |
A scalable concurrent
ConcurrentNavigableMap implementation. |
| BTreeMap.BTreeEntryIterator<K,V> | |
| BTreeMap.BTreeIterator | |
| BTreeMap.BTreeKeyIterator<K> | |
| BTreeMap.BTreeValueIterator<V> | |
| BTreeMap.DescendingMap<K,V> | |
| BTreeMap.DirNode | |
| BTreeMap.EntrySet<K1,V1> | |
| BTreeMap.KeySet<E> | |
| BTreeMap.LeafNode | |
| BTreeMap.NodeSerializer<A,B> | |
| BTreeMap.SubMap<K,V> | |
| BTreeMap.ValRef |
if
valsOutsideNodes is true, this class is used instead of values. |
| BTreeMap.Values<E> | |
| Caches |
Contains various instance cache implementations
|
| Caches.HardRef |
Cache created objects using hard reference.
|
| Caches.HashTable |
Fixed size cache which uses hash table.
|
| Caches.HashTable.HashItem | |
| Caches.LRU |
Least Recently Used cache.
|
| Caches.WeakSoftRef |
Instance cache which uses
SoftReference or WeakReference
Items can be removed from cache by Garbage Collector if |
| Caches.WeakSoftRef.CacheSoftItem<A> | |
| Caches.WeakSoftRef.CacheWeakItem<A> | |
| CompressLZF |
This class implements the LZF lossless data compression algorithm.
|
| DataInput2 |
Wraps
ByteBuffer and provides DataInput |
| DataOutput2 |
Provides
DataOutput implementation on top of growable byte[]
ByteArrayOutputStream is not used as it requires byte[] copying |
| DB |
A database with easy access to named maps and other collections.
|
| DB.IdentityWrapper | |
| DBMaker<DBMakerT extends DBMaker<DBMakerT>> |
A builder class for creating and opening a database.
|
| EncryptionXTEA |
An implementation of the EncryptionXTEA block cipher algorithm.
|
| EngineWrapper |
EngineWrapper adapter.
|
| EngineWrapper.CloseOnJVMShutdown |
Closes Engine on JVM shutdown using shutdown hook:
Runtime.addShutdownHook(Thread)
If engine was closed by user before JVM shutdown, hook is removed to save memory. |
| EngineWrapper.ImmutabilityCheckEngine |
check if Record Instances were not modified while in cache.
|
| EngineWrapper.ImmutabilityCheckEngine.Item | |
| EngineWrapper.ReadOnlyEngine |
Wraps an
Engine and throws
UnsupportedOperationException("Read-only")
on any modification attempt. |
| EngineWrapper.SerializerCheckEngineWrapper |
Checks that Serializer used to serialize item is the same as Serializer used to deserialize it
|
| EngineWrapper.SynchronizedEngineWrapper |
Engine wrapper with all methods synchronized on global lock, useful to diagnose concurrency issues.
|
| Fun |
Functional stuff.
|
| Fun.ArrayComparator |
compares two arrays using given comparators
|
| Fun.Tuple2<A,B> | |
| Fun.Tuple2Comparator<A,B> | |
| Fun.Tuple3<A,B,C> | |
| Fun.Tuple3Comparator<A,B,C> | |
| Fun.Tuple4<A,B,C,D> | |
| Fun.Tuple4Comparator<A,B,C,D> | |
| Fun.Tuple5<A,B,C,D,E> | |
| Fun.Tuple5Comparator<A,B,C,D,E> | |
| Fun.Tuple6<A,B,C,D,E,F> | |
| Fun.Tuple6Comparator<A,B,C,D,E,F> | |
| HTreeMap<K,V> |
Thread safe concurrent HashMap
This map uses full 32bit hash from beginning, There is no initial load factor and rehash.
|
| HTreeMap.ExpireLinkNode | |
| HTreeMap.ExpireRunnable | |
| HTreeMap.LinkedNode<K,V> |
node which holds key-value pair
|
| LongConcurrentHashMap<V> |
Thread safe LongMap.
|
| LongConcurrentHashMap.HashEntry<V> |
LongConcurrentHashMap list entry.
|
| LongConcurrentHashMap.Segment<V> |
Segments are specialized versions of hash tables.
|
| LongConcurrentLRUMap<V> |
A LRU cache implementation based upon ConcurrentHashMap and other techniques to reduce
contention and synchronization overhead to utilize multiple CPU cores more effectively.
|
| LongConcurrentLRUMap.CacheEntry<V> | |
| LongConcurrentLRUMap.PQueue<V> | |
| LongConcurrentLRUMap.PriorityQueue<T> |
A PriorityQueue maintains a partial ordering of its elements such that the
least element can always be found in constant time.
|
| LongHashMap<V> |
LongHashMap is an implementation of LongMap without concurrency locking.
|
| LongHashMap.AbstractMapIterator<V> | |
| LongHashMap.Entry<V> | |
| LongHashMap.EntryIterator<V> | |
| LongHashMap.ValueIterator<V> | |
| LongMap<V> |
Same as 'java.util.Map' but uses primitive 'long' keys to minimise boxing (and GC) overhead.
|
| Pump |
Data Pump moves data from one source to other.
|
| Queues |
Various queue algorithms
|
| Queues.CircularQueue<E> | |
| Queues.Queue<E> |
First in first out lock-free queue
|
| Queues.SimpleQueue<E> | |
| Queues.SimpleQueue.Node<E> | |
| Queues.SimpleQueue.NodeSerializer<E> | |
| Queues.Stack<E> |
Last in first out lock-free queue
|
| Serializer.CompressionWrapper<E> |
wraps another serializer and (de)compresses its output/input
|
| SerializerBase |
Serializer which uses 'header byte' to serialize/deserialize
most of classes from 'java.lang' and 'java.util' packages.
|
| SerializerBase.FastArrayList<K> |
Utility class similar to ArrayList, but with fast identity search.
|
| SerializerBase.singletons | |
| SerializerPojo |
Serializer which handles POJO, object graphs etc.
|
| SerializerPojo.ClassInfo |
Stores info about single class stored in MapDB.
|
| SerializerPojo.FieldInfo |
Stores info about single field stored in MapDB.
|
| Store |
Low level record store.
|
| StoreAppend | Deprecated |
| StoreDirect |
Storage Engine which saves record directly into file.
|
| StoreHeap |
Store which keeps all instances on heap.
|
| StoreWAL |
Write-Ahead-Log
|
| TxEngine |
Naive implementation of Snapshots on top of StorageEngine.
|
| TxMaker |
Transaction factory
|
| Volume |
MapDB abstraction over raw storage (file, disk partition, memory etc...).
|
| Volume.ByteBufferVol |
Abstract Volume over bunch of ByteBuffers
It leaves ByteBufferVol details (allocation, disposal) on subclasses.
|
| Volume.FileChannelVol |
Volume which uses FileChannel.
|
| Volume.MappedFileVol | |
| Volume.MemoryVol |
| Exception | Description |
|---|---|
| TxRollbackException |
Exception thrown when transaction is rolled back.
|