Essentials are a collection of general-purpose classes we found useful in many occasions.
Main reasons to use Essentials:
- Write less code in your projects
- Specialized implementations for better performance compared to standard APIs
- Super light weight: < 100k in size
- Compatible with Android and Java
- IO utilities help with streams (byte and character based) and digests (e.g. MD5 and SHA-1).
- File utilities simplify reading and writing strings/bytes/objects from or to files. Also includes getting hashes from files and copying files.
- String utilities allow efficient splitting and joining of strings, hex and MD5 creation, and other useful string helpers.
- Better hash functions: our Murmur3 implementation provides superior hash quality and outperforms standard Java hash functions
- Specialized Streams: for example an optimized PipedOutputStream replacement (based on a circular byte buffer)
- Hash set and map for primitive long keys outperform the generic versions of the Java Collection APIs
- Multimaps provide a map of lists or sets to simplify storing multiple values for a single key
- Object cache with powerful configuration options: soft/weak/strong references, maximum size, and time-based expiration
- Base64 implementation (bundled from iharder.net) for lower versions of Java & Android (includes input/output streams)
For more details, please have a look at the documentation.