ava programs are especially vulnerable to decompilers, because Java source code is compiled to Java bytecode. But there are techniques to make decompilation harder. It is a difficult prospect to take machine level code and translate it backwards into language level . . .
ava programs are especially vulnerable to decompilers, because Java source code is compiled to Java bytecode. But there are techniques to make decompilation harder. It is a difficult prospect to take machine level code and translate it backwards into language level code with a complex programming language. Today, many modern compilers have built-in security features that remove all variables and function names, move code to optimize execution, strip all comments, and make the translation as difficult as possible. Unfortunately, it is easy to recover an assembler language version of a Java program. This is because Java's constant pool contains a great deal of information about the source code.

Java programs are especially vulnerable to decompilers, because Java source code is compiled to Java bytecode, which is a platform independent abstraction layer for the virtual machine. Because Java's bytecode contains interface and type information that runs safety checks on the language before it is actually run on the machine, decompiling is much easier in Java than most other development languages.

The link for this article located at Earthweb is no longer available.