To all java engineers out there:

Before you even think about using java.beans.XMLEncoder and it’s sibling, XMLDecoder, make sure you verify two things:
Are you OK with your application running single-threaded? XMLEncoding hits a static synchronized helper method. Expect to see blocked threads.
Are you OK with forcing your JVM to process an obscene amount of object garbage? A 1 hour stress test generated more than 1.2 Tb of object garbage. While the stress test was running, the JVM was between 50 and 80% devoted to garbage collection.
After switching to xstream, the GC problems are gone, there aren’t any blocked threads, my whites are whiter, my coat is a whole lot more glossy, and cherubs are flying by with banners that say “Huzzah.”
Related posts:
- Java for Mac OS X 10.5 Update 1 adds support for Java SE 6
Java for Mac OS X 10.5 Update 1 adds support for Java SE 6 Update: Apple’s java6 port can’t run IDEA… Back to java5. :-\...... - java rake db:migrate implementations
I was surprised that there were so many libraries that do the same thing — manage change in your database schema. Here’s what I’ve found so far: Liquibase (migrations are...... - Set up JAVA_HOME to track Java Preferences.app on Mac OS X
Mac OS X’s Java Preferences.app has a pane for switching between versions of the JDK, but I just found out from a coworker (thanks, Mike!) that you can make your...... - TestNG, test groups, IDEA, and @BeforeMethod
Say you have public class SomeTestNG { @BeforeClass public void setup() { … } @Test public void test1() { … } @Test public void test2() { … } } You’ll......