Programming Language: Oracle and the Future of the Java Virtual Machine
The Java Virtual Machine (JVM) provides a portable execution environment for Java applications.
- By Mensah Alkebu-Lan
- 22 January 2023
Table of Contents
Understanding the Java Virtual Machine
The Java Virtual Machine (JVM) provides a portable execution environment for Java applications. The JVM allows Java programs to run on any device or operating system and manages and optimizes program memory. It runs the Java class file format in a portable way. To run Java programs, it depends on the Java class loader and a Java execution engine.
The JVM is typically downloaded and installed as a bundled part of a Java Runtime Environment (JRE). The JVM not only supports Java but other programming languages as well. That would include languages like Kotlin and Scala.
There are three parts to the JVM. There are the JVM Specification, JVM Implementations, and a JVM instance.
Getting the Most out of you Java Licenses
For Oracle’s release of Java, there have been some significant licensing changes at least since the Java 17 version. Currently, Oracle Java SE Licensing depends on Java version and release. For example, all releases of Oracle Java Development Kit (JDK) version 18 and later are under what is called an Oracle No-Fee Terms and Conditions (NFTC) License and all releases of Oracle OpenJDK version 18 and later are under the open source GPLv2+CPE license. Both pertain to all users. Subject to the conditions of the license, the NFTC license permits free use for all users—even free for commercial use.
For older versions of Java, licensing is a little more complicated. For example, for Java 17 only releases through at least September 2024 of Oracle JDK are under the NFTC license and only releases through at least January 2022 of Oracle OpenJDK are under the GPLv2+CPE license.
Oracle will use the NFTC for Oracle JDK 17 and later releases. LTS releases, such as JDK 17 will receive updates under the license for one year after the release of the subsequent LTS.
Oracle Java SE Subscription offers support and advanced management features. With this, you are available to protect your enterprise investments with security updates and support. The support covers multiple versions of Java. Another benefit is access to Oracle Java SE 8 and 7 commercial features,
The subscription includes entitlement to Oracle GraalVM Enterprise, Advanced Management Console, and Java Management Service. Java Management Service is an Oracle Cloud service to monitor and manage all your Java deployments. The Java Management Services allows you to know which Java versions are installed and which versions are being used. Another feature is the Enterprise Performance Pack that brings memory management and performance improvements brought to Java from the java releases between Oracle JDK 8 and Oracle JDK 17 available to JDK 8 users. ***
References
- “Java SE Subscriptions.” Oracle. Accessed 18 January 2023.
- “Oracle JDK License General FAQs.” Oracle. Accessed 18 January 2023.
- “Introducing the Free Java License.” Oracle Blogs, 14 September 2021. Accessed 18 January 2023.
- Tyson, Matthew. “What is the JVM? Introducing the Java virtual machine.” InfoWorld, 28 October 2022. Accessed 19 January 2023.