JBCO: The Java Bytecode Obfuscator - An Bytecode Obfuscator with third-generation control-flow transformations. [Open source] - http://www.sable.mcgill.ca/JBCO/
DashO - Obfuscates to enhance source code security, shrinks to improve efficiency, and watermarks to track the origin of a pirated copy. [Commercial] - http://www.preemptive.com/products/dasho/
Saffeine - Tool for the Java bytecode protection and feature driven license management. The 'Saffeine' engine uses strong cryptography algorithms to obfuscate unlicensed Java byte code. [Commercial] - http://www.saffeine.com/
Semantic Designs Java Obfuscator - Scrambles source code using nonsense names and stripping comments to disable reverse engineering. Works on large sets of files. [Commercial] - http://www.semanticdesigns.com/Products/Obfuscators/JavaObfuscator.html
Cinnabar Canner - Protects Java-based applications from decompilation and reverse engineering by embedding an encrypted version of the application's classes and resources into a native Windows executable. [Commercial] - http://www.cinnabarsystems.com/canner.html
JLock - A Java class file encrypter. It transparently encrypts Java class files and at run-time decrypts the code, so that the JVM can interpret the class file as a valid Java byte-code. By JBit Software. [Commercial] - http://www.jbitsoftware.com/JBitSoftware/jlockinfo.html
yGuard - Bytecode obfuscator configurable to run through Ant build scripts. [Freeware, core library is open source, LGPL] - http://www.yworks.com/en/products_yguard_about.htm
JavaGuard - Obfuscates. Updated version of RetroGuard. Can be run from the command-line or using a GUI. [Open source, GPL] - http://sourceforge.net/projects/javaguard/
ProGuard - Shrinks and obfuscates, with template-based configuration. Comes with an Ant task, a J2ME WTK plugin, and a tool to de-obfuscate stack traces. [Open source, GPL] - http://proguard.sourceforge.net/
jarg - Java Archive Grinder - Shrinks and obfuscates jar files. Runs from the command line or as an Ant task. [Open source, BSD] - http://jarg.sourceforge.net/
IBM alphaWorks JAX - A Java application packaging tool that reduces the distribution size of a Java application. [Commercial] - http://www.alphaworks.ibm.com/tech/JAX
Zelix KlassMaster - Java obfuscator with flow obfuscation, string literal encryption, scripting, Ant integration, incremental obfuscation, obfuscated line numbers, J2ME plugin and stack trace translation. Also removes unused classes, fields and methods. [Commercial] - http://www.zelix.com/klassmaster/
Jshrink - Removes unused code and data then obfuscates symbolic names in class files. [Commercial] - http://www.e-t.com/jshrink.html
Marvin - Removes unnecessary classes and obfuscates applications, applets, and servlets. Supports encryption of string constants. [Freeware] - http://www.drjava.de/obfuscator/
Smokescreen - A Java class file obfuscator, that supports selective renaming, unused method and field removal, as well as bytecode obfuscation. [Shareware] - http://www.leesw.com/
JCloak - Bytecode obfuscator to protect code from reverse engineering. [Commercial] - http://www.force5.com/
CodeShield - Command-line obfuscator for Java class files. [Commercial] - http://www.codingart.com/codeshield.html
RetroGuard - Highly-configurable Java bytecode obfuscator with support for Java 2, reflection and scripting. [Open Source, LGPL] - http://www.retrologic.com/retroguard-main.html