Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is Oracle JDK?

2025-01-21 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/03 Report--

This article introduces the relevant knowledge of "what is Oracle JDK". In the operation of actual cases, many people will encounter such a dilemma. Then let the editor lead you to learn how to deal with these situations. I hope you can read it carefully and be able to achieve something!

What is 1.Oracle JDK?

As we know, JDK is the abbreviation of Java Development Kit, which translates to Java development kit.

Oracle JDK comes from Sun JDK (Oracle acquired Sun in 2009), and Oracle JDK is naturally the JDK produced by Oracle. So Oracle JDK is the Java development kit developed and maintained by Oracle. But it is a bit one-sided to understand it in this way.

According to Donald Smith, Senior Director of Product Management at Java Platform Group, in "Oracle JDK Releases for Java 11 and Later":

Because my English is hideously bad, in order to avoid wasting time and unnecessary translation errors, here is a simple quote from Google Translation to facilitate a rough understanding:

Ideally, we would simply refer to all Oracle JDK builds as GPL or "Oracle JDK" under commercial license, depending on your situation, but for historical reasons, although there are small differences, we will refer to them in Oracle's OpenJDK builds and Oracle JDK respectively.

From the above, we can know that Oracle JDK builds actually includes an open source version of Oracle's OpenJDK builds (based on GPL open source) and a commercial version of Oracle JDK builds, but because of its own tedious writing and does not have much effect on development, outsiders generally call them OpenJDK and Oracle JDK. (random Jane writes the killing series, which is a pit in the next chapter)

So we can see that Oracle JDK actually has several meanings:

Commercial JDK launched by Oracle (most commonly used)

JDK (all JDK under Oracle JDK builds) launched by Oracle

Oracle JDK builds

In most cases, Oracle JDK refers to the commercial version of JDK launched by Oracle.

How to choose the version of 2.Oracle JDK?

When it comes to how to choose Oracle JDK, you have to mention the many versions released by Oracle JDK.

If you are interested, you can go to the development of Java to see what versions of Oracle JDK are available.

As of May 4, 2021, there are 17 major versions of Oracle JDK. Among the many versions, how to choose a suitable version to use has become a headache. If you want to know which version is right for you, you must first understand the release pace of Java SE and the gap between each version.

The release pace of 1.Java SE and the gap between different versions of 1.Java SE 8 and the release pace of previous versions

According to the description in Java CPU and PSU Releases Explained:

1. Differences between released versions

CPU (Critical Patch Updates): critical patch updates (CPU) include fixes for security vulnerabilities and critical errors. Oracle strongly recommends that all Java SE users upgrade to the latest version of CPU. The Java SE CPU version is an odd version (that is, 7u71, 7u65-see here for more information about the Java SE version numbering scheme).

PSU (Patch Set Updates): patch set updates (PSU) include all fixes in the corresponding CPU, as well as other non-critical fixes. You should use the Java PSU version only if you are affected by one of the other bugs fixed in this version. The Java SE PSU version is even, and the release notes list other fixes available in the Java SE PSU distribution.

PS:

Oracle strongly recommends that all Java SE users upgrade to the latest CPU version of a release family. Most users should choose the CPU version.

If you are affected by one of the other bugs fixed in that release described in the release notes, you can only use the appropriate PSU version.

Subsequent versions of CPU will contain all fixes for the current PSU. Therefore, organizations should test the current PSU in their environment in anticipation that these fixes will be included in the next CPU.

Starting from October 2014, with the release of Java SE 7u71 (CPU) and Java SE 7u72 (PSU), Oracle plans to release an additional PSU version along with each CPU release of Java SE 7.

two。 Release cycle

Java is released every two years until Java 6 is released under Sun on December 23, 2006. Because of the political stalemate, the next version is Java 7, which was released on July 28, 2011.

At the QCon 2012 conference in London on March 7, 2012, Simon Ritter, former head of Sun Microsystems and now Oracle Java product manager, promised that Java would return to its two-year release cycle.

But on April 18, Mark Reinhold, chief architect of Oracle's Java Platform Group, said on his blog that Oracle plans to postpone the release of Java 8 until next year in order to fix Java security vulnerabilities.

3. Relationship between versions

Updates within versions: for example: Java 8 > Java 8u20 > Java 8u40, mostly fixes for some security vulnerabilities and minor feature updates, with a small gap between versions (except for security vulnerabilities).

Updates between versions: for example: Java 6 > Java 7 > Java 8, with major modifications, updates, and security bug fixes. Like traditional versions, each number change is a huge reform, and there is a huge gap between versions.

The release pace of 2.Java SE 9 and beyond and the gap between different versions

According to the description of Donald Smith, Senior Director of Product Management of Java Platform Group in "Update and FAQ on the Java SE Release Cadence" and of Oracle Java SE Support Roadmap, extract what we need: starting with Java SE 9, Java has launched a new version control and release rhythm model.

1. Differences between released versions

The LTS version (Long Term Support, long-term support version), which provides at least eight years of commercial support (may be extended depending on market needs), will be replaced by a new LTS version when it expires.

The non-LTS version (non Long Term Support, non-long-term supported version), which provides six months of commercial support, will be replaced by a newly released version when it expires.

two。 Release cycle

The overall release cycle is one release every six months, where:

LTS version: released every three years

Non-LTS version: released every six months

PS:

When the two release times conflict, the LTS version will be released first, and the non-LTS version will be delayed by one cycle.

3. Relationship between versions

Updates within versions: for example: Java 11 > Java 11.0.1 > Java 11.0.2, most of them are fixes for some security vulnerabilities, and there is almost no difference between versions (except for security vulnerabilities).

Updates between versions: for example: Java 9 > Java 10 > Java 11 is closer to Java 8 > 8u20 > 8u40, the non-LTS version released every six months is more like the "feature release" of the "major version", the LTS version is more like the major version, and the non-LTS version is more like a test version containing the previous LTS version, with a wide gap between versions.

Do you charge for 2.Oracle JDK?

Knowing the pace of Java SE release and the differences between different versions, it should be the price that most affects people's choices. Yes, Oracle JDK is also charged, but not all versions are charged, and not all uses are charged.

An interesting phenomenon we can see from the historical version of Java is that the title Java SE 8 appears twice, namely Java SE 8u202 and previous versions and Java SE 8u211 and later versions.

Why did this happen?

Java SE 8u201 (CPU) / 8u202 (PSU) and previous versions use Binary Code License Java SE 8u211 (CPU) / 8u212 (PSU) and later versions use Java SE OTN License

Because of the huge difference between the two licenses, Java SE 8 is rigidly divided into two parts. According to the lengthy description of the two licenses and RednaxelaFX, Oracle is finally going to shoot Java's non-paying users-what do you think? And using java to develop commercial software, do I have to pay Oracle? The answers to the two questions refine several main points.

License, free study, free personal use, free development, free testing, free commercial function, free commercial use, free use on desktops / laptops, free use on servers, free embedded devices and other computing environments, use Binary Code License ✔✔✔✔✘✔✔✔✘ Java SE OTN License ✔✔✔✔-✘✔✘✘

PS:

Commercial function refers to whether-XX:+UnlockCommercialFeatures is included in the startup parameters of HotSpot VM included in Oracle JDK. If so, it means that the commercial function is enabled. This function is turned off by default and needs to be turned on manually (abolished in Java 11).

Java Flight Recorder (JFR) has been added to Open JDK 11, which can be started directly under Open JDK 11/bin, or-XX:StartFlightRecording can be added to the startup parameters of HotSpot VM.

With Java 8u201/8u202 and previous versions of Binary Code License, it is almost free for personal use and commercial use (without the use of commercial features and embedded devices).

With Java SE OTN License's Java 8u211/8u212 and later versions, personal use is free, and businesses need to buy a license. (although it can be used secretly, it's like running naked through a minefield, and you don't know when it's going to go up in smoke, and you don't know if Oracle will wait until it's fattened.)

This is the end of "what is Oracle JDK". Thank you for your reading. If you want to know more about the industry, you can follow the website, the editor will output more high-quality practical articles for you!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report