Oracle has released Java 8 Update 291. This update introduces a total of 390 new security patches that address vulnerabilities that could be exploited in previous updates of Java. Therefore, we suggest that you update your Java version to Update 291 using the guide given below.
Moreover, Oracle has changed the Java Runtime license so that it is free for use only for non-commercial and personal usage. You will need to accept the license agreement before installing Java on your computer. Here is what they say:
The new license permits certain uses, such as personal and development use, at no cost — but other uses authorized under prior Oracle Java licenses may no longer be available.
Oracle
Table of Contents
Quick facts
- Latest Java Version: Java 8 Update 291-b10
- Release date: April 20th, 2021 (All version release dates here)
- Last stable version: Java 8 Update 281
- Compatible OS: Windows 10, Windows 8 and Windows 7, macOS, Linux, and Solaris
- License: Free
Please note that Java 8 only runs on Internet Explorer as a browser extension.
New features and bug fixes
Java 8 Update 291 comes with the following updates:
- New system and security properties have been introduced to control the reconstruction of remote objects through JDK’s built-in JNDI RMI and LDAP implementations. An example of this is the
jdk.jndi.object.factoriesFilter
system and security property, which allows the developer to specify a serial filter that controls the set of object factory classes permitted to instantiate objects from object references returned by naming or directory systems. - 2 new HARICA Root certificates have been added which have the following description:
- haricarootca2015: DN: CN=Hellenic Academic and Research Institutions RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
- haricaeccrootca2015: DN: CN=Hellenic Academic and Research Institutions ECC RootCA 2015, O=Hellenic Academic and Research Institutions Cert. Authority, L=Athens, C=GR
- The default Java version no longer incorrectly updates the value of PATH environment variable.
- TLS 1.0 and 1.1 are no longer considered safe and are therefore disabled by default, while TLS 1.2 and 1.3 are now enabled by default.
- TLS 1.0 and 1.1 are also not being used by Java Plugin Applets by default anymore.
- When dk.lang.process.allowAmbiguousCommands is set to false, there was previously a very ambiguous processing of ProcessBuilder quotes on Windows. That is no longer the case since double-quotes are properly encoded in the command string passed to Windows
CreateProcess
for each argument.
You can read the complete change log in the release notes.
Here is the list of Oracle Java SE risk matrix that gives details about each vulnerability like affected Java version, affected component of Java, the type of exploit possible, and its scope.
You can read more about this matrix here.
How to update Java Runtime Environment (JRE) to version 8 Update 291
Download
You can determine your currently installed Java version by visiting this webpage.
Updating to the latest version is quite easy. But if you want to know what version of Java is installed on your computer, you can follow our tutorial about Java here.
If you want to download the latest version of Java, you can use the following links. These links will point you to Java 8 Update 291 offline installer downloads.
- Go to Oracle Java download page.
- Under the Java SE Runtime Environment 8u291 section, you will see a list of products.
- Click on the Download icon beside your desired product. All downloads on this page are offline installers.
- Accept the license agreement and then click the download button below it. Your download should start right away.
- Now, you will be redirected to Oracle’s sign-in page. If you already have an account, just sign in using your credentials, or click sign up to create an account. Once signed in, the download will begin automatically.
Install
Once downloaded, run the package to begin installing Java 8 Update 291. The installation wizard will open. There, click Install.
Java 8 Update 291 will now begin installation, as you may see from the wizard. This step should only take about a minute. Once installed, click Close on the wizard.
Java 8 Update 291 should now be installed on your device successfully.
JDK vs. JRE: What’s the difference
You may have heard of JDK and JRE, and even in some instances, JVM. We know that all of them are Java, but what is the difference between them? Before we conclude our post, let us address this question of many users so you know which one suits your needs.
JRE
Java Runtime Environment, or JRE, is a piece of software that is installed on your computer that allows you to run applications developed in Java on your device. It provides certain libraries and other components that are required to run a Java program.
JRE also includes Java Virtual Machine (JVM), which is discussed ahead in the article.
JVM
Java Virtual Machine, or JVM, is an engine also required to run Java applications on a machine. This engine is included in the JRE package and cannot be installed separately. If you require only the JVM, then you will need to install the respective JRE version.
JVM is essential to run Java applications as it converts the Java code into machine language, which is then understood by your device.
JDK
Java Development Kit, or JDK, is a development kit used by developers. The JDK includes both the JRE and the JVM. If you are looking to create your own Java applets, then JDK is what you need.
If you have JDK already installed on your device, you do not require to install JRE separately, unless a different version is required.
JDK vs. JRE: What should you install
Java Development Kit, as the name implies, is required when you are looking to develop Java applications. Hence, one would only need to install a JDK if one is a developer.
However, as Java Runtime Environment provides the libraries for a Java application, it is required to only run an application.
To sum up, you should install JDK if you are looking to create, develop and compile a Java application. If you only want to run a Java application, then JRE ought to be sufficient.
Can you install different JDK and JRE versions
The answer is yes. You can install different versions of JDK and JRE on your device as required, and there is no limit to the number of installations per device. However, if an existing version of JDK or JRE is already installed, you can then only install an upgraded version of the same package.
For example, if you have JRE 1.6 installed on your device, then you may install JRE 1.7 or higher easily, and they all will be available on your device simultaneously. You just have to select which one to use using the CLASSPATH variable.
However, if you have JRE 1.6 installed on your device but want to install JRE 1.5, you will firstly need to remove JRE 1.6, and then will you be able to install JRE 1.5. After installing version 1.5, you can reinstall JRE 1.6.
How to uninstall Java
Uninstall Java from Control Panel
You can remove a Java update from the Control Panel like any other application. Open the Programs and features window by typing in appwiz.cpl in Run. There, double-click on the Java update you wish to remove. If prompted for a confirmation, click Yes.
Uninstall Java from Settings app
Java updates can also be removed using the Settings application in Windows 10. Open the Apps & Features page in the Settings app (Run -> ms-settings:appsfeatures) and then look for the Java update in the list of apps installed. Click on the update you want to remove and click Uninstall. If asked for confirmation, click Uninstall again.
Java release number vs. product name
We have seen some users question on websites like Quora and Reddit about the naming techniques of the Java versions. Questions have been asked like “Do Java 1.8 and Java 8 refer to the same thing?” or “Difference between JDK 1.9 or Java 9?”
To answer your question, yes, JDK 1.9 and Java 9 are one and the same thing. 1.9 is the release number whereas 9 is the product name. Since Oracle is naming their Java products in terms of numbers as well, their naming convention tends to confuse some people.
Oracle plans to continue this naming convention. Therefore, as of now, all future releases will have the same naming convention, and maybe confusion as well (for some).
Is Java free to use
Java is currently free for personal and development use. Small businesses can benefit from this and build their own Java applets using the JDK. However, a license is required for commercial use.
Oracle has combined licensing and simultaneous support for commercial Java users in a subscription, known as Oracle Java SE subscription. For more information on subscription costs and packages, visit the page to explore your options.
Closing words
Although it is critical that you update to the latest version of Java so the latest security patches are applied, it has its drawbacks. Users often complain that their programs have stopped working after installing a new version.
Therefore, we recommend that you create a system restore point before installing Java 8 Update 291 so that you may be able to revert to it in case things go wrong.