Useful Libraries - apache/drill GitHub Wiki

Java Libraries

OpenJDK JOL (Java Object Layout)

JOL (Java Object Layout) is the tiny toolbox to analyze object layout schemes in JVMs. These tools use Unsafe, JVMTI, and Serviceability Agent (SA) heavily to decoder the actual object layout, footprint, and references. This makes JOL much more accurate than other tools relying on heap dumps, specification assumptions, etc.

Airlift Frameworks for Distributed Systems

Airlift

Airlift is a framework for building REST services in Java. This project is used as the foundation for distributed systems like Presto.

Slice

Slice is a Java library for efficiently working with heap and off-heap memory.

Drift

An annotation-based Java library for creating Thrift serializable types and services.

Aircompressor

A port of Snappy, LZO, LZ4, and Zstandard to Java.

Units

Java library for immutable human-friendly units.

JSR305 Spotbugs

A tool for static analysis to look for bugs in Java code.

SpotBugs is a program which uses static analysis to look for bugs in Java code. ... SpotBugs is the spiritual successor of FindBugs, carrying on from the point where it left off with support of its community.

Formerly known as Google JSR305 Findbugs.

javax.inject

This package specifies a means for obtaining objects in such a way as to maximize reusability, testability and maintainability compared to traditional approaches such as constructors, factories, and service locators (e.g., JNDI). This process, known as dependency injection, is beneficial to most nontrivial applications.

Google Guice

...a lightweight dependency injection framework for Java 6 and above, brought to you by Google.

TestNG

TestNG is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use...

Other Tools and Libraries

EditorConfig

EditorConfig helps maintain consistent coding styles for multiple developers working on the same project across various editors and IDEs.