A free development tool that allows users to decompile files and reconstruct nodes for Java programming
Windows ME / Windows 95 / Windows NT / Windows 98 / Windows XP / Windows 2000
The Cavaj Java Decompiler can turn the byte code in a compiled Java class file back into human-readable Java code. The program is an independent application that is not written in Java. The decompiler can handle only Java class files regardless of how they are distributed. This includes web-based Java applets, Java apps for mobile devices and standalone Java programs. The program cannot handle certain common types of files like compressed JARs and index files for mobile Java apps. Fortunately, it is simple to use any modern archiving utility to decompress JAR files and extract the class files.
The Cavaj Java Decompiler has a very clean and simple interface. It will seem intuitive to anyone accustomed to using an integrated development environment. A simple menu is at the top that includes options to open files, save files, edit the code and adjust the view. A status bar is along the bottom that shows the results of recent operations. The main view is a simple text-editing window where the decompiled source code is displayed. There is also a tree view to the left that can show how a particular source files is laid out logically. Users can adjust the width of the text window or tree view by dragging the divider.
The Cavaj Java Decompiler does a good job of converting byte code back into a human readable form. It is important to note that it does not do what some programmers hope. Compiled byte code does not contain the original names of variables, programmer comments or other personalized features. It is just instructions for the runtime environment. This means the code that is produced by the decompiler will take some time to get used to reading. Nearly every instruction within the class file is listed by the decompiler. Many things are not listed in an intuitive way.
Anyone who decompiles a class filed with the Cavaj Java Decompiler is going to see long lists of confusing variables and methods. Most are simply assigned a letter as a name. This can start to make it confusing when reading long expressions that involve nothing but a series of letters and operators. Additionally, it appears that every variable used is frontloaded under the different methods in a large block. Some of the decompiled code appears to be boilerplate methods take directly from the main libraries. This all makes actually deciphering what is going on within a program confusing for novice programmers.
The Cavaj Java Decompiler does exactly what it claims. It works quickly and can decompile large class files in just a few seconds. Users can even edit those files directly in the interface. The program does not include syntax highlighting or context-sensitive pop-ups that could have made wading through the code easier. The Cavaj Java Decompiler is a good tool for anyone who wants to start understanding how class files work.