Note that there are some explanatory texts on larger screens.

plurals
  1. POChoose and test java decompiler
    text
    copied!<p>Now I'm trying to find the best java decompiler, I found these:</p> <ul> <li><a href="http://java.decompiler.free.fr/" rel="noreferrer">http://java.decompiler.free.fr/</a></li> <li><a href="http://www.reversed-java.com/fernflower/" rel="noreferrer">http://www.reversed-java.com/fernflower/</a></li> <li><a href="http://dj.navexpress.com/" rel="noreferrer">http://dj.navexpress.com/</a></li> <li><a href="http://cavaj-java-decompiler.en.softonic.com/" rel="noreferrer">http://cavaj-java-decompiler.en.softonic.com/</a></li> </ul> <p>With these decompilers I handle byte code of this class:</p> <pre><code>public class ss { public static void main(String args[]) { try{ System.out.println("try"); } catch(Exception e) { System.out.println("catch"); } finally {System.out.println("finally");} } } </code></pre> <p>and I got the following results:</p> <p><strong>fernflower:</strong></p> <pre><code>public class ss { public static void main(String[] var0) { try { System.out.println("try"); } catch (Exception var5) { System.out.println("catch"); } finally { System.out.println("finally"); } } } </code></pre> <p><strong>DJ Java Decompiler:</strong></p> <pre><code>import java.io.PrintStream; public class ss { public ss() { } public static void main(String args[]) { System.out.println("try"); System.out.println("finally"); break MISSING_BLOCK_LABEL_50; Exception exception; exception; System.out.println("catch"); System.out.println("finally"); break MISSING_BLOCK_LABEL_50; Exception exception1; exception1; System.out.println("finally"); throw exception1; } } </code></pre> <p><strong>cavaj:</strong></p> <pre><code>import java.io.PrintStream; public class ss { public ss() { } public static void main(String args[]) { System.out.println("try"); System.out.println("finally"); break MISSING_BLOCK_LABEL_50; Exception exception; exception; System.out.println("catch"); System.out.println("finally"); break MISSING_BLOCK_LABEL_50; Exception exception1; exception1; System.out.println("finally"); throw exception1; } } </code></pre> <p><strong><a href="http://java.decompiler.free.fr/" rel="noreferrer">http://java.decompiler.free.fr/</a>:</strong></p> <pre><code>import java.io.PrintStream; public class ss { public static void main(String[] paramArrayOfString) { try { System.out.println("try"); } catch (Exception localException) { System.out.println("catch"); } finally { System.out.println("finally"); } } } </code></pre> <p>I see that the best result in decompiler: <a href="http://java.decompiler.free.fr/" rel="noreferrer">http://java.decompiler.free.fr/</a></p> <p>To test, I wrote very simple code. What do you think, what code to write to test decompilers? Maybe the idea is to better than a try{} catch(){} finally{}?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload