FernFlower
Decompiler from Java bytecode to Java, used in IntelliJ IDEA
...Fernflower is integrated into popular Java IDEs and tools where decompilation is needed, and its robust analysis handles a wide range of language features introduced across multiple Java versions. Because it outputs clean, structured, and often compilable code, developers use it for auditing binaries, exploring third-party libraries without source, and recovering parts of legacy systems where source was lost or unavailable.