Oracle's JVM Strategy

Java Virtual Machine Strategy


Hotspot o jRockit

Este dilema existe desde la adquisición de Sun por parte de Oracle. En la presentación adjunta, Paul Hohensee, JVM Technical Lead y Henrik Ståhl, Sr Director Product Management, nos dan una visión de la estrategia para el futuro de la Java Virtual Machine.

Enfoca ampliamente en a partir de lo mejor de ambas VM's y generar una con capacidades extremas para cualquier segmento de mercado, desde pequeña instancias hasta aplicaciones que requieran el poder del "Deterministic GC" o "Garbage First".

En lo particular, mi primer contacto con el mundo de java fue con Hotspot del extinto Sun y me gustaría puntualizar las siguientes ventajas:

  • Hasta 32G utilizando compresión de apuntadores
  • La versión x64 de JVM es más rápida que 32-bits x86.
  • Mejoras en arquitectura NUMA (Non Uniform Memory Architecture).
  • Optimización en concatenación de Strings

    Y lo que viene con la esperada versión 7:

    • Garbage First collector (ansioso de probarlo)
    • Pausas pequeñas en la actividad de recolección con heaps grandes.
    • Soporte SSE4.2
    • Mejoras en la compresión de Strings

    Por otra parte está el "consentido" de Oracle y antes de BEA, JRockit con:

    • Robusto (Compilador JIT mejorado,
    • Disponibilidad en el servicio. (Mejoras en JMX, Tracking nativo de memoria, Soporte de dump de Heap)
    • Hasta 64G utilizando compresión de apuntadores.
    • Hasta 30% menos de pausas en ejecución del GC.
    • El famosísimo Flight Recorder (Más información http://goo.gl/rOvkH)

    La recomendación de Oracle para sus clientes es "Use what works best for you":

    • HotSpot, Oracle Apps and Middleware on Solaris, Client and non-Oracle Apps on Solaris/Windows/Linux
    • JRockit, Oracle Apps and Middleware on Windows/Linux

    El detalle con los últimos puntos es que existe una divergencia entre las dos VM's y como comenté al principio, el objetivo de Oracle es hacer que converjan para crear una herramienta con mayor alcance, a eso le llaman "Converged JVM Roadmap".

    Los invito a ver la presentación, pues un punto importante cuando vamos a desarrollar y que muy pocas veces le prestamos atención es en qué JVM podemos tener el mejor desempeño, escalabilidad y disponibilidad mediante un control/monitoreo adecuado.

    AdjuntoTamaño
    OOW2010 - JVM Strategy.pdf492.09 KB