Some important java projects - April 2021 edition

This article will explore some of the important projects currently in the development (incubation, preview, early access) stage.

We see new features being added to the java programming language faster than ever with the six-monthly release cycle. This article will explore some of the important projects currently in the development (incubation, preview, early access) stage. We will not be exploring the topics in detail, but this will be a curated list of the official documents for easy reference.

Also, we can’t say for sure when these will be released to the general users, but it is something that will keep us motivated to continue using java at least for the foreseeable future:

Project Amber

Project Amber is a mature project with multiple features already available (10, 11, and later versions). The main goal of this project is to provide small, developer-centric features that will enhance their productivity. This feature-rich project is the home for multiple additions to the language like (only a few of many):

  1. Pattern matching for instanceof
  2. Pattern matching for the switch (preview)
  3. Sealed classes
  4. Records for immutable data
  5. Text blocks
  6. Local variable type inference
  7. Switch expressions

Project Valhalla

The idea behind project Valhalla is to introduce value types that are classes but behave as primitive types without the associated overhead of references. Another point worth noting here is that the value types are immutable.

  1. Primitive objects or Inline classes
  2. Generics over primitives

Project Loom

The idea behind project loom is to improve the java programs’ concurrency abilities by providing easy to create, throughput optimized, and easy to manage constructs like virtual threads.

Project Panama

This project aims to provide the developer community a bridge between the JVM world and the native code world (anything not written in java). We have JNI (java native interface) available to call native code from the JVM context, but the process is not straightforward to develop (write and maintain code). Project Panama hosts various tools to help developers access components outside the JVM realm like:

  1. Foreign-Memory access API
  2. Vector API

Project Leyden

The newly announced project Leyden will provide the native image capabilities available in other VMs like GraalVM. Once available, it will cater to the dev community’s complaints regarding slow startup time by leveraging features like:

  1. Ahead-of-time compiling
  2. Class data sharing

Project Skara

Project Skara deals with finding an alternative repository management platform for JDK source code. It includes moving from mercurial to Git and migrating to the corresponding service provider ( Github).

  1. Migrate from Mercurial to Git
  2. Migrate to Github

Project Metropolis

As a significant part of the hotspot, JVM is coded in C++; it is impacted by direct or indirect changes in the language. As part of the project metropolis, it was proposed to change this implementation and move it to java itself. This shift is being called - java on java.

As mentioned in the proposal, the project plans to deliver optimized and simplified virtual machine versions. You can download early access builds of the project from here.

This post is a work-in-the-progress list. I’ll try to keep it updated as and when we have details for the new features.

Be notified of new posts. Subscribe to the RSS feed.