|
JBossSerialization is a new approach to java-serialization. We (java developers) have accepted over the years java.io.ObjectInputStream & java.io.ObjectOutputStream being slow when dealing with writeObject operations. Recently we discovered that most of the problems in JavaSerialization are related to static synchronized caching, what causes CPU spikes and also diminishes scaling capabilities. With JBossSerialization we have done internal benchmarks and we have realized at least 2 times faster serialization with this library. These benchmarks are commited into our CVS repository (as testcases) and they are publicly available. The main feature in JBossSerialization besides performance, is Smart Cloning.Smart cloning is the capability of the reuse of final fields among different class loaders doing exactly what serialization does, without the need of convert every field into a byteArray. Using JBossSerialization is very simple:Instead of instantiating ObjectOutputStream and ObjectInputStream, you would instantiate JBossObjectInputStream and JBossObjectOutputStream (org.jboss.serial.io). You will also have to add jboss-serialization.jar to your classpath. Everything from the specification is then respected.The only exceptions are:
It works on Java 1.4 and beyond. JBossSerialization is distributed under LGPL and the source code is available at JBoss SVN. |