2013. szeptember 23., hétfő

JavaOne Monday: Looking into the JVM Crystal Ball

The session "Looking into the JVM Crystal Ball" by Mikael Vidstedt (JVM Architect) was quite useful to get up to date regarding new Java 8 and HotSpot JVM features. Here are my notes about the session.

The PermGen will be removed. Its contents will be stored in the heap and native memory (see Metaspace) in the future. This means no more -XX:PermSize and -XX:MaxPermSize settings but an increased need to carefully plan and monitor the native memory space.

New features heavily relying on the relatively new (Java SE 7) invokedynamic JVM instruction: lambda expressions and Nashorn, the new JavaScript engine replacing Rhino. Both are actually implemented using invokedynamic. You can read about the invokedynamic instruction and static and dynamic typing in the official documentation "Java Virtual Machine Support for Non-Java Languages".

Huge heaps are now possible, which means "40 Gb and above", but terabytes of heap was also mentioned during the presentation.

Project Sumatra is dealing with new compiler features so that some computations can be offloaded to the GPU.

The already existing (7u4) G1 (Garbage-First) garbage collector's base idea is dividing the heap to partitions that it can work on paralelly as it is focusing on big heaps and low pause times. The goal in the future is to go for G1 only and to deprecate and remove the CMS garbage collector.

The Runtime JVM team works on Class Data Sharing which, as its name suggests, provides a means to share class data between applications and even JVMs. This will be implemented by using an image file that can be referenced from different JVMs. Dynamic string & symbol tables are also planned, e.g. the String pool (see String.intern()) size is increased and it will be resized dynamically.

Changes in Serviceability features and tools: Flight Recorder is meant to be used in production with a very little overhead (2-3% estimated). The Mission Control GUI application will be used to monitor the JVM (heap, threads, etc.) including data collected by Flight Recorder. Some JMX improvements are planned: using annotations for MBean configuration, providing REST APIs. One goal regarding serviceability is to deprecate and drop JConsole.

Above all, and from start, the main message of the presentation was that the goal is convergence of different JVMs including HotSpot, HotSpot CDC and JRockit, leading to one common JVM, for which all the necessary tools are provided.

As usual, at the end of the session everybody was encouraged to participate in the JDK 8 evolution. They appreciate any general feedback, GC feedback, and JDK 8 testing and error reporting which you can start by downloading and using the JDK 8 Early Access release.

Update: Here is the link for the presentation's site and the slides.

1 megjegyzés:


  1. Best Article buy Pain Pills online Excellent post. I appreciate this site. Stick with it! Because the admin of this web page is working, no doubt very quickly it will be well-known, due to its quality contents.This website was how do you say it? Relevant!! Finally, I’ve found something that helped me.
    Best Article buy Roxicodone online Excellent post
    buy Xanax online
    buy Oxycodone online

    Best Article buy Pain Medications online Excellent post. I appreciate this site. Stick with it! Because the admin of this web page is working, no doubt very quickly it will be well-known, due to its quality contents.This website was how do you say it? Relevant!! Finally, I’ve found something that helped me.

    buy Research Chemicals online

    buy Roxicodone online

    buy Cbd Isolate online

    VálaszTörlés