# Package org.apache.ignite.internal.util

System-wide utility routine and helper classes.

See: Description

Interface Summary
ClassCache: Class cache.
DirectBufferCleaner: Cleaner interface for `java.nio.ByteBuffer`.
GridIntIterator: Iterator over integer primitives.
GridSerializableIterable<E>: Makes `Iterable` as `Serializable` and is useful for making anonymous serializable iterators.
GridSerializableIterator<E>: Makes `Iterator` as `Serializable` and is useful for making anonymous serializable iterators.
IgniteTree<L,T>: Interface for ignite internal tree.
IgniteTree.InvokeClosure<T>

Class Summary
F0: Internal utility class that contains not peer-deployable predicates for use in internal logic.
FeatureChecker: Class extracted for fields from GridUnsafe to be absolutely independent with current and future static block initialization effects.
GridAnnotationsCache: Caches class loaders for classes.
GridArgumentCheck: This class encapsulates argument check (null and range) for public facing APIs.
GridArrays: Utility methods to work with arrays.
GridAtomicInitializer<T>: Executes initialization operation once.
GridAtomicInteger: Extended version of `AtomicInteger`.
GridAtomicLong: Extended version of `AtomicLong`.
GridBoundedConcurrentLinkedHashMap<K,V>: Concurrent map with an upper bound.
GridBoundedConcurrentLinkedHashSet<E>: Concurrent set with an upper bound.
GridBoundedConcurrentOrderedMap<K,V>: Concurrent ordered map that automatically manages its maximum size.
GridBoundedConcurrentOrderedSet<E>: Concurrent ordered set that automatically manages its maximum size.
GridBoundedLinkedHashMap<K,V>: Generic map with an upper bound.
GridBoundedLinkedHashSet<E>: Hash table and linked list implementation of the `Set` interface, with predictable iteration order.
GridBoundedPriorityQueue<E>: Bounded variant of `PriorityQueue`.
GridBusyLock: Synchronization aid to track "busy" state of a subsystem that owns it.
GridByteArrayList: Re-sizable array implementation of the byte list (eliminating auto-boxing of primitive byte type).
GridCircularBuffer<T>: This class implements a circular buffer for efficient data exchange.
GridClassLoaderCache: Caches class loaders for classes.
GridCleaner: The facade for Cleaner classes for compatibility between java 8 and 9.
GridClientByteUtils: Primitive to byte array and backward conversions.
GridCloseableIteratorAdapter<T>: Convenient adapter for closeable iterator.
GridCloseableIteratorAdapterEx<T>: Adapter for closeable iterator that can be safely closed concurrently.
GridCollections: Provides locked wrappers around given maps and collections.
GridConcurrentFactory: Concurrent map factory.
GridConcurrentHashSet<E>: Concurrent set implementation.
GridConcurrentLinkedHashSet<E>: Concurrent linked set implementation.
GridConcurrentPhantomHashSet<E>: Concurrent phantom hash set implementation.
GridConcurrentSkipListSet<E>: This class provided the same logic as `ConcurrentSkipListSet`.
GridConcurrentWeakHashSet<E>: Concurrent weak hash set implementation.
GridConfigurationFinder: Finds configuration files located in `IGNITE_HOME` folder and its subfolders.
GridConsistentHash<N>: Controls key to node affinity using consistent hash algorithm.
GridCursorIteratorWrapper<V>: Wrap `Iterator` and adapt it to `GridCursor`.
GridDebug: Utility class for debugging.
GridDebug.Item: Debug info queue item.
GridEmptyCloseableIterator<T>: Empty closeable iterator.
GridEmptyIterator<T>: Empty iterator.
GridFixedSizeInputStream: Input stream wrapper which allows to read exactly expected number of bytes.
GridHandleTable: Lightweight identity hash table which maps objects to integer handles, assigned in ascending order.
GridIntList: Minimal list API to work with primitive ints.
GridJavaProcess: Wrapper class around the `Process` suited to run any Java class as separate java process.
GridKeyLock: This is an utility class for 'splitting' locking of some resources.
GridLeanIdentitySet<T>
GridLeanMap<K,V>: Lean map implementation that keeps up to five entries in its fields.
GridLeanSet<E>: Lean set implementation.
GridListSet<V>: Implementation of `Set` based on internal list rather than hash table.
GridLogThrottle: Grid log throttle.
GridLongList: Minimal list API to work with primitive longs.
GridMessageCollection<M extends Message>: Collection of messages.
GridMultiCollectionWrapper<E>: Wrapper around several collection, don't allow adding new elements.
GridMutex: Serializable mutex.
GridPartitionStateMap: Grid partition state map.
GridQueue<E>: Queue which supports addition at tail and removing at head.
GridQueue.Node<E>: Node for internal linked list.
GridRandom: Random to be used from a single thread.
GridReflectionCache: Reflection field and method cache for classes.
GridSerializableCollection<E>: Makes `AbstractCollection` as `Serializable` and is useful for making anonymous serializable collections.
GridSerializableList<E>: Makes `AbstractList` as `Serializable` and is useful for making anonymous serializable lists.
GridSerializableMap<K,V>: Makes `AbstractMap` as `Serializable` and is useful for making anonymous serializable maps.
GridSerializableSet<E>: Makes `AbstractSet` as `Serializable` and is useful for making anonymous serializable sets.
GridSetWrapper<E>: Set implementation that delegates to map.
GridSnapshotLock<X>: Synchronization primitive allowing concurrent updates and taking consistent snapshots.
GridSpiCloseableIteratorWrapper<T>: Wrapper used to covert `IgniteSpiCloseableIterator` to `GridCloseableIterator`.
GridSpinBusyLock: Synchronization aid to track "busy" state of a subsystem that owns it.
GridSpinReadWriteLock
GridStringBuilder: Optimized string builder with better API.
GridStringBuilderFactory: Per-thread cache of `StringBuilder` instances.
GridStripedLock: This is an utility class for 'splitting' locking of some `int`- or `long`-keyed resources.
GridStripedReadWriteLock: This is an utility class for 'splitting' locking of some `int`- or `long`-keyed resources.
GridStripedSpinBusyLock: Striped spin busy lock.
GridSynchronizedMap<K,V>: Synchronized map for cache values that is safe to update in-place.
GridTimer: Timer to use mostly for debugging purposes.
GridTimerTask: Utility extension for `TimerTask`.
GridUnsafe: Wrapper for `Unsafe` class.
GridWeakIterator<T>: Weak iterator.
HostAndPortRange: Represents address along with port range.
IgniteExceptionRegistry: Utility to collect suppressed errors within internal code.
IgniteExceptionRegistry.ExceptionInfo: Detailed info about suppressed error.
IgniteUtils: Collection of utility methods used throughout the system.
IgniteUtils.LockTracer
IgniteUtils.ReentrantReadWriteLockTracer
IgniteUuidCache
Jsr310Java8DateTimeApiUtils: Provides utility functions for JSR-310 Java 8 Date and Time API types based on reflection.
MutableSingletonList<E>: List that can contain maximum of one element.
OffheapReadWriteLock: Lock state structure is as follows: +----------------+---------------+---------+----------+ | WRITE WAIT CNT | READ WAIT CNT | TAG | LOCK CNT | +----------------+---------------+---------+----------+ | 2 bytes | 2 bytes | 2 bytes | 2 bytes | +----------------+---------------+---------+----------+
ReflectiveDirectBufferCleaner: `DirectBufferCleaner` implementation based on `sun.misc.Cleaner` and `sun.nio.ch.DirectBuffer.cleaner()` method.
StripedCompositeReadWriteLock: ReadWriteLock with striping mechanics.
StripedExecutor: Striped executor.
UnsafeDirectBufferCleaner: `DirectBufferCleaner` implementation based on `Unsafe.invokeCleaner` method.
UUIDCollectionMessage: Collection of UUIDs.

Enum Summary
IgniteTree.OperationType

Annotation Types Summary
SerializableTransient: Marks class as it has transient fields that should be serialized.
TransientSerializable: Marks class as it has non-transient fields that should not be serialized.

## Package org.apache.ignite.internal.util Description

System-wide utility routine and helper classes.

${current.year} Copyright © Apache Software Foundation

Follow @ApacheIgnite

Ignite Database and Caching Platform | : ver. 2.7.6
Release Date | : September 11 2019