头图

Once upon a time, the so-called Oracle要对Java收费 the news, on the Internet a lot of uproar. This news is regarded as a headline party by professionals, and many domestic technical forums, such as the certain community, have many great gods to Java收费 This statement has made a very professional interpretation. The Bing search engine searches for the keyword "Oracle Java charges", and the first search result is worth reading.

The focus of this article is to introduce the relationship between the terms JDK, Oracle JDK, Open JDK and SAP JDK.

JDK - Java Development Kit

The software development kit of the Java programming language is the core of Java development, including the Java runtime environment, namely the JVM (Java Virtual Machine) and the Java system class library, as well as a large number of tools.

The author used to chat with an old German colleague who has 20 years of ABAP programming experience in the CRM development team of SAP Germany. He talked about more and more SAP product technology stacks being replaced by Java in recent years. This colleague has never contacted Java, curiously asked me what is JDK.

The explanation I gave him at the time was (in order to save space, the author will not put English here), "Think about the ABAP code you wrote in SAPGUI, after activation, the ABAP runtime (runtime) implemented in C/C++ is ABAP virtual machine."

"In addition, the Netweaver ABAP platform provides many infrastructure-level functions, such as CL_HTTP_CLIENT and CL_HTTP_SERVER for HTTP communication. There are many such class libraries in ABAP, which are stored under the BASIS package and its subpackages. So ABAP Development Kit It's a combination of ABAP runtime and ABAP class library, and JDK is a combination of Java runtime and Java class library, it's that simple."

Seeing my German colleague showing a smile of understanding, I thought to myself, there is one thing I didn't tell you, compared with ABAP's server-side development model, developing enterprise-level applications in Java inevitably requires various development environments locally. Java developers need to be prepared for all kinds of problems they may encounter when setting up their environment locally. When my friend Wu Ji joined SAP Chengdu Research Institute in 2015, Jerry, as his mentor, set up a local Java development environment together, and it took a week to set up. During that week, Jerry said the following sentence at least ten times:

It's fine on my computer.

Oracle JDK

After Sun, which created the Java programming language, was acquired by Oracle for $7.4 billion in 2009, more and more Java beginners equated Oracle JDK with JDK. This is not surprising, after all, Google JDK keywords, The top search results are all pages that start with www.oracle.com:

Due to the relationship between Oracle and SAP (which all SAP practitioners understand), some SAP practitioners who use Java for secondary development can't help but feel nervous after the news that Oracle's Java is "charged". Not necessarily.

I still remember that when the author was an undergraduate, Microsoft, who wanted to kill Java, once came up with a programming language called J++, and the corresponding IDE, Visual J++. , the classmates I know around me have not fiddled with this language. Although this J++ has the same syntax and keywords as Java, it can only run on Microsoft's operating system. Later, it is said that Microsoft, which copied Java, was sued by Sun, and it lost 2 billion US dollars, and then it disappeared.

Interestingly, Microsoft later issued an open letter:

The original text is as follows:

This letter was sent to the Open JDK community. Microsoft first announced that it has officially joined the Open JDK community. One of the motivations is that Microsoft has more and more products and services that depend on Java, such as the Java Runtime on Azure. As the author The SAP Commerce Cloud on Azure used on a project I recently worked on is a beneficiary of this dependency.

Then, in the open letter, Microsoft quietly acknowledged that Oracle is the leader of the Open JDK project. After its own team joins the Open JDK community, it will start with minor bug fixes and feature backports, and strive to become a good citizen of the community. Sure enough, the heroes see the same thing. In the past, whenever Jerry's development team joined a new product development family, they also mastered development knowledge and familiarized themselves with the process by fixing bugs and doing downports.

The last sentence in the letter: We look forward to participating in the future of Java - the future of Java, and Microsoft also expects to participate in it.

So, what the hell is this Open JDK?

Official website: https://openjdk.java.net/

Open JDK is a project formed by Sun open source Java at the end of 2006, while Oracle JDK is a commercial implementation based on Open JDK. The relationship between Open JDK and Oracle JDK is like Open UI5 and SAP UI5, Kyma and SAP Cloud Platform Extension Factory.

If you see HotSpot in the output of java -version, it means Oracle JDK:

On Jerry's Alibaba Cloud ECS, the output is Open JDK:

Having said so much, what does it have to do with SAP?

You can visit this public link: https://sap.github.io/SapMachine/

SAPMachine is a JDK built by SAP based on Open JDK. On the basis of the former, SAP has enhanced the supportability and reliability required by enterprise-level applications.

SAPMachine can be downloaded from the above github link or from the SAP official website:

The practice of tailoring a JDK for one's own enterprise based on Open JDK like SAP is very common in the industry.

For example, Amazon's Corretto, source code address:
https://github.com/corretto

There is also domestic Alibaba's AJDK: Dragonwell

It can be said that Ali's own JDK contributed to the reason why Ali's solution can withstand the test of harsh scenarios such as Double Eleven which requires high concurrency and high availability.

The following passage is from a post in the Alibaba Yunqi community:

What did Alibaba do to the JVM to support 175,000 transactions per second on Double 11?

As early as 2010, Alibaba started JVM customization and optimization based on OpenJDK6, which is also the first optimized, customized and open-source server version of the Java virtual machine in China. Beginning in 2015, Alibaba JVM team began to optimize and customize OpenJDK8, striving to meet the fast-growing business needs of Alibaba, Ant Financial, and Cainiao in terms of stability, performance optimization, and technology foresight. The customized version is named AJDK (Alibaba JDK). At present, almost all core applications of Taobao, Tmall, Ant, and Cainiao have been switched from Oracle JDK to AJDK, and have passed the test of Double 11.

I hope that through the introduction of this article, you can have a basic understanding of several different JDKs.

Summarize

This article starts with the news that Oracle is charging for Java, and introduces several terms that are easily confused for Java beginners, the differences and connections between JDK, Oracle JDK, Open JDK and SAP JDK.


注销
1k 声望1.6k 粉丝

invalid