
Runtime JVM analysis toolkit for inspecting classes, methods, fields, constant pool, and bytecode
splinter is a jvm analysis toolkit, allowing the user to view classes, methods, fields, constant pools and bytecode on runtime. this was made and tested on openjdk build 22.0.2+9-70
usually, when you think of an analysis toolkit for the jvm, you would think it uses jni or jvmti, but not splinter!
splinter is actually external and has these capabilities right now:
Method and ConstMethodthe long-term goal is for it to be a runtime jvm analysis toolkit for:

the current code base is currently a foundation, but it still functions
as of writing this (3/11/2026), splinter can:
javaw.exe process automaticallyjvm.dll in the target processjvm.dllClassLoaderDataGraphKlass and InstanceKlassInstanceKlass::_fieldinfo_streamMethod / ConstMethodone of the cooler parts of splinter is that it doesnt use classfile-format bytecode, it actually uses runtime bytecode instructions from the hotspots interpreter which is later read back to you as symbolic class/method/field references.
it matters because the hotspot actually tends to rewrite some instructions at runtime. we currently r handling:
invokedynamic encoded indexesfast_iaccess_0fast_igetfieldfast_aldcinvokehandle