The latest on Java-on-Java: the Oracle experiment that is gaining momentum

  JamesWarner        2017-05-22 08:49:32       4,490        0    

What is Project Metropolis?

The not so hush-hush Project Metropolis is all set to implement Java on itself – popularly known in the developer community as Java-on-Java. Oracle has released updates on its progress, and they are very encouraging.

The project will focus on building a JIT (just in time) compiler that is written in Java. It is being touted as the experimental clone of JDK (Java Development Kit) 10. 

Work on ‘ahead of time’ compiling and Graal compiler is also in progress. This will take a significantly longer time to implement, but is a necessary factor to increase the capability of the Java-on-Java methodology proposed as an experimental clone of JDK, as mentioned above.

Project Metropolis also aims to enable translation of discrete HotSpot modules in System Java.

How will it achieve Java-on-Java technology?

Graal – the modern code generator, will be instrumental in rebooting the JVM technology using Java-on-Java because of its portability to new platforms and adaptability with new workloads. 

Key advantages of Project Metropolis

The main advantage of Java-on-Java would be reducing the need for developers to write combined Java and C++ code, as it will implement the Java with less C++/asm. The OpenJDK community is already experimenting with such projects in collaborative environments. 

Project Metropolis does not have a set deadline. This works in its favor as not having a designated JDK version or date allows for more research and testing. It also has strong supporting projects that compliment its efforts in the Java-on-Java direction.

What are the supporting measures from Oracle?

Following are the details of these supporting projects:

1. Project Panama

It will provide the required interoperability in Java-on-Java as it aims to bridge native libraries to Java. Interoperability highly depends on value types, low level bridges to non-Java ABIs and data layouts. Project Panama also aims to provide tight coupling with a wide range of data, APIs, ISAs.

It has:

a. Zero hand-written code

b. Direct, optimizable native calls from JIT

c. Direct, optimizable access to off-heap

d. Direct access to hardware

e. Better use of native resources, data structures, and libraries

2. Project Valhalla

It will offer flexibility to Java-on-Java projects by naturalizing flat, pointer-free data types to the JVM Heap. This will give developers the ability to create new classes that have the flexibility of Java objects/C++ templates and the efficiency of C++/assembly code.

It is aimed to bridge the gap between classes and primitives. This enables pervasive changes throughout the stack that are comparable to the impact of generics and lambdas. Thus, it extends the benefits of encapsulation to all values.

3. Project Amber

This will serve as an incubator for productivity oriented Java enhancement proposals (by the JCP). These include local variable-type interference, lambda leftovers, and enhanced enums. It does away with boilerplate code. So much so that it is expected to reduce some application codes to a single line!

Other long term plans for the JVM (Java Virtual Machine)

The long term plans by Oracle indicate that the JVM is planned to integrate with and run most of the modern development languages. The major goals for the JVM are:

1. Having a uniform model that makes objects, arrays, values, and types feel similar.

2. Being memory efficient.

3. Having tunable data layouts.

4. Being naturally local and pointer thrifty.

This will boost the performance of JVM, enabling Hire Java developers to get the most out of CPUs and systems. A remarkable goal for JVM (as per Oracle’s latest presentation) is to be post-threaded, which will allow granular concurrency and confined, immutable data. It will also mean having shared code that is mechanically customized to each hot path.

 

 

 

 

HIRE JAVA DEVELOPERS 

       

  RELATED


  0 COMMENT


No comment for this article.



  RANDOM FUN

Water on my laptop