Oracle has announced a new version of the Java programming language called Java 18 for developers, end-users, and enterprises. The Java development kit (JDK) of Java 18 offers library updates, tooling improvements, new incubator modules, and future-proof Java programs, Oracle said.
Java is commonly used for building applications for multiple platforms including mobile devices, PCs, servers, TVs, and web browsers. There are 56 billion Java virtual machines (JVM) globally and 34 billion cloud-based JVMs, claims Oracle.
“In India, customers are using Java widely in developing their applications. It is the most commonly used programming language. Be it for microservices or cloud-native applications, customers and even ISVs in India use Java,” Saravanan P, cloud engineering leader at Oracle India said in a statement.
Saravanan points out, most applications that are in use today for payments, mobile and internet banking, UPI, risk management, or even new age AI and ML solutions, use Java as their programming language. “India is witnessing very high demand,” he added.
Java was originally developed by Sun Microsystems and was acquired by Oracle in 2010. Programs created using Java require a platform (JVM) to be executed, which is provided by Oracle.
The core library improvement in Java 18 includes a simplified web server that offers easy setup with minimal functionality. Java 18 also reduces the maintenance and development cost of reflection support for future language features. It also used the UTF-8-character encoding by default, which as per Oracle makes Java programs more predictable and portable.
Tooling improvements in Java 18 include implementation of code snippets in Java API Documentation, which essentially adds the @snippet tag to simplify the inclusion of example source codes. Oracle claims this can make it easier to achieve modern stylings, such as syntax highlighting and automatic linkage of names to declarations.
New incubator modules added to Java 18 comprise a platform-agnostic vector API that would allow developers to leverage CPU architectures more effectively. It also added a foreign function and memory API that will allow Java programs to operate on different kinds of foreign memory, such as native memory, persistent memory, and managed heap memory outside of the Java runtime.
Java runtime is a software layer that uses allocated class libraries and other resources that a specific Java program needs to run.
Further, to future-proof Java programs, Oracle said that it will gradually deprecate the finalisation feature from the platform. In future releases, it will be disabled by default, and afterward will be completely removed. Finalisation was introduced in Java 1.0 to help developers avoid resource leaks. However, it has been criticised by developers over the years for causing performance issues.