JD (Java Decompiler) is a
decompiler
A decompiler is a computer program that translates an executable file to a high-level source file which can be recompiled successfully. It does therefore the opposite of a typical compiler, which translates a high-level language to a low-level lan ...
for the
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
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 that 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 ce ...
(JD-Eclipse) and
IntelliJ IDEA
IntelliJ IDEA is an integrated development environment (IDE) written in Java (programming language), Java for developing computer software written in Java, Kotlin (programming language), Kotlin, Groovy (programming language), Groovy, and other ...
(JD-IntelliJ)
integrated development environment
An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
s.
JD supports most
versions of Java from 1.1.8 through 1.7.0 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 bas ...
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 software, open source, free Java implementations, 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 ...
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 to a high-level source file which can be recompiled successfully. It does therefore the opposite of a typical compiler, which translates a high-level language to a low-level lan ...
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 (norma ...
as
debug information.
In 2012, a
branch
A branch, sometimes called a ramus in botany, is a woody structural member connected to the central trunk (botany), trunk of a tree (or sometimes a shrub). Large branches are known as boughs and small branches are known as twigs. The term '' ...
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, Inc. () is an Internet hosting service for software development and version control using Git. It provides the distributed version control of Git plus access control, bug tracking, software feature requests, task management, continuous ...
. extended the functionality by manual
decompilation
A decompiler is a computer program that translates an executable file to a high-level source file which can be recompiled successfully. It does therefore the opposite of a typical compiler, which translates a high-level language to a low-level lan ...
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 from class files.
See also
*Java Decompiler
A decompiler is a computer program that tr ...
*
Mocha
References
External links
*
*
{{DEFAULTSORT:JD Java Decompiler
Java decompilers