- Forrester Councils
- Councils Overview
- log in
Posted by John R. Rymer on June 21, 2010
Java's future is on my mind lately. Oracle's new ownership of Java prompts a series of "what will Larry do" questions. But more to the point, the research Mike Gualtieri and I have been doing on massively scaled systems makes me worry that Java technology has fallen behind the times.
This is not a "Java is dead" commentary but rather a discussion of issues as I see them. Java technology is alive and vitally important; we all must be concerned if its future direction isn't clear.
For me, Java's 2-gigabyte-per-JVM memory limitation symbolizes this gap. Volumes of application data are rising, but standard Java platforms still have a practical limitation of 2 GB of memory. I spoke with one customer that incorporates a search process into its app that alone requires 20 GB of memory. This customer employs servers with 6 GB of memory each but can only use this memory in 2 GB chunks, each chunk managed by a JVM in a scale-out architecture.
We've done pretty well with 2 GB JVMs until now. But as data volumes grow, this company (and others) are no longer well served by scale-out JVM architectures. Java technology should give shops the choice of scaling up the memory within an individual JVM as well. Why?
The company with the 2o GB search process would love to have the option of large memory pools within a single JVM, primarily to get scale without code changes. Gap: There is no memory scale-up option in standard Java today. I'm not sure how many shops would select a scale-up approach over a scale-out approach (would love to know what you think). But I've seen enough requirements to be persuaded that having the additional choice is important.
This is the problem: The Java community should have an answer for this requirement, but it does not. The recently announced Managed Runtime Initiative, backed by Azul Systems, seeks to drive a scale-up JVM solution (based on a new JVM combining OpenJDK and Azul's software) at a future date. None of the Java leadership has yet signed on to that initiative. We can only hope that: a) MRI comes up with a standards-aligned scale-up JDK and/or b) MRI inspires the Java community leadership to solve this problem.
Here is what worries me about Java's future:
And so the status quo in JVM memory persists, and developers work around that limitation. Makes me worry about the future of Java technology. You? I've added a discussion thread in our Application Development & Delivery Community Site (http://community.forrester.com/thread/2918) for your thoughts.
Lead BT Transformation
Develop customer-obsessed strategies to drive growth »
Forrester's CX Index
Predict how actions to improve CX will affect revenue performance.
Measure the customer experiences that matter most »