Java proponents want to set up an incubator project that would explore advanced virtual machine and language features for the software development platform.
Project Valhalla, which is being floated as an idea on an openjdk mailing list, would incubate such features as value types, generic specialization, enhanced volatiles, and reified generics. Features under consideration are considered long-term, and it is unlikely any would be targeted for inclusion in Java 9, which has been set for a 2016 arrival. Java 8 was released in March.
Major items in Valhalla, including value types and specialization, are intended to deal with the issue of boxing, according to background material on the Valhalla project. A boxed integer takes more memory and requires a de-reference to get payload, which generally causes a cache miss. The idea is that small aggregates -- custom numeric types like complex or uint128, small tuples, and algebraic data types -- can get the abstraction benefits of objects while maintaining the performance characteristics of primitives.
Project Valhalla would involve work at multiple levels, include type system, language, virtual machine, and libraries. The intended approach to the project is to start at the virtual machine level, define clear semantics and underlying support that can be used equally by Java and other languages on the JVM, and then integrate these into the Java language.
The effort, said IDC analyst Al Hilwa, is part of the normal process of evolving Java through an open governance process. "Programming languages need to be evolved to remain relevant, and for languages with a strong installed base, the process should be systematic and ideally open."
This story, "Java incubator to explore technologies for Java 10 and beyond" was originally published by InfoWorld .