jist provides high-performance, source-aware search of Java class symbols for a given class or module path.
Search targets can be an exact simple name, a qualified namespace prefix, a source file, or a ClassFile:
$ jist java.lang.String.intern
java.lang.String(String.java:4711): public native String intern();Capabilities include:
- Find modules, packages, types, methods, constructors, and fields
- Search the JDK without additional configuration
- Search project source and compiled dependencies using standard Java path and module options
- Show literal source signatures, documentation, definitions, enclosing types, or complete source files
- Find semantic usages of an exact type or member, including overriding methods
- Produce terminal-friendly output or stable line-oriented output for other tools
Searches use exact names rather than fuzzy matches. A simple name matches that complete terminal name wherever it is visible. A qualified name selects that exact delimiter-bounded namespace and the symbols beneath it. There is no substring matching, ranking, typo correction, or implicit resolution of partially qualified names.
Important
This tool is currently in preview. Please share feedback for any of the tools in Discussions.
Note
Netflix engineers should use the internally bundled toolchain rather than installing this tool separately.
Follow the ja Installation Guide to install the bundled tools, including jist.
For standalone use, download the modular JAR from Maven Central. JDK 25 or later is required. Run it directly or as module com.netflix.tools.jist:
java -jar com.netflix.tools.jist-VERSION.jar java.lang.String
java --module-path com.netflix.tools.jist-VERSION.jar --module com.netflix.tools.jist java.lang.StringJMOD artifacts are also published for building custom runtime images.
Find every visible symbol with a complete simple name:
jist HttpClientSelect an exact package, type, or member prefix with a qualified name:
jist java.lang.String.valueOfFind semantic references to an exact type or member:
jist --usages java.lang.Integer.MAX_VALUEShow source documentation and the complete declaration:
jist --source definition java.lang.String.lengthThe wiki covers: