IBM vs Oracle JVM
1) The first difference between Oracle and IBM JVM is that IBM uses different JIT and Garbage collectors than Oracle's JVM.
2) Another difference between IBM JVM and Oracle JVM is that IBM's JVM has different heap structure than Oracle's JVM. By default, IBM JVM does not use Generational Garbage Collector which can be enabled by JVM option (-Xgcpolicy:gencon)IBM JVM doesn't have PermGen space for storing class related metadata so free from PermGen OutOfMemoryError.
3) IBM JVM has a different kind of compiler known as Ahead Of time Compiler (AOT compiler) which work to reduce some overhead from JITing code whenever JVM starts. AOT compiler memory maps pre-compiled class file so that they don't need to go JIT compilation when IBM's JVM runs.
4) IBM JVM also supports class sharing which can be used to store classes which are shared across different JVM instances. This feature may available to Oracle JVM as well.
5) Earlier there was another different related to CompressOOPS but from Java6 update releases Oracle's JVM also support CompressedOOPS which is quite a handy JVM option to get better performance in 64 bit JVM.
6) IBM also provide some tools to monitor and analyze thread dumps which can be used to find deadlocks, resource contention, and bottleneck.
That's all on the difference between IBM and Oracle JVM. You won't notice much difference until you go real deep to get better performance and scalability stuff, for most of Java programs it just runs fine because both JVM support standard Java libraries.
0 comments:
Post a Comment