JD (Java Decompiler) is a
decompiler
A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate e ...
for the
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
programming language. JD is provided as a
GUI tool as well as in the form of
plug-ins for the
Eclipse
An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
(JD-Eclipse) and
IntelliJ IDEA
IntelliJ IDEA () is an integrated development environment (IDE) written in Java for developing computer software written in Java, Kotlin, Groovy, and other JVM-based languages. It is developed by JetBrains (formerly known as IntelliJ) and is a ...
(JD-IntelliJ)
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
s.
JD supports most
versions of Java from 1.1.8 through 10.0.2 as well as
JRockit
JRockit was a proprietary Java virtual machine (JVM) originally developed by Appeal Virtual Machines, acquired by BEA Systems in 2002, and became part of Oracle Fusion Middleware as part of acquisition of BEA Systems in 2008.
The JRockit code b ...
90_150,
Jikes
Jikes is an open-source Java compiler written in C++. It is no longer being updated.
The original version was developed by David L. "Dave" Shields and Philippe Charles at IBM but was quickly transformed into an open-source project contributed ...
1.2.2,
Eclipse Java Compiler and
Apache Harmony
Apache Harmony is a retired open source, free Java implementation, developed by the Apache Software Foundation. It was announced in early May 2005 and on October 25, 2006, the board of directors voted to make Apache Harmony a top-level projec ...
and is thus often used where formerly the popular
JAD was operated.
Variants
In 2011, Alex Kosinsky initiated a variant of JD-Eclipse which supports the alignment of
decompiled
A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate ex ...
code by the line numbers of the originals, which are often included in the original
Bytecode
Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (normal ...
as
debug information.
In 2012, a
branch
A branch, also called a ramus in botany, is a stem that grows off from another stem, or when structures like veins in leaves are divided into smaller veins.
History and etymology
In Old English, there are numerous words for branch, includ ...
of JDEclipse-Realign by Martin "Mchr3k" Robertson
[Martin "Mchr3k" Robertson]
JDEclipse-Realign.
Version 1.1.2 of January 6th, 2013. Accessed March 30th, 2013. Hosted by GitHub
GitHub () is a Proprietary software, proprietary developer platform that allows developers to create, store, manage, and share their code. It uses Git to provide distributed version control and GitHub itself provides access control, bug trackin ...
. extended the functionality by manual
decompilation
A decompiler is a computer program that translates an executable file back into high-level source code. Unlike a compiler, which converts high-level code into machine code, a decompiler performs the reverse process. While disassemblers translate e ...
control and support for
Eclipse 4.2 (Juno).
See also
*
JAD (software)
Jad (Java Decompiler) is, , an unmaintained decompiler for the Java programming language.
Jad provides a command-line user interface to extract source code
In computing, source code, or simply code or source, is a plain text computer progr ...
*
Mocha
Mocha may refer to:
Places
* Mokha, a city in Yemen
* Mocha Island, an island in BiobĂo Region, Chile
* Mocha, Chile, a town in Chile
* Mocha, Ecuador, a city in Ecuador
* Mocha Canton, a government subdivision in Ecuador
* Mocha, a segmen ...
References
External links
*
*
{{DEFAULTSORT:JD Java Decompiler
Java decompilers