RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

Oracle Java Development Kit (JDK)

Product
Developers: Oracle
Last Release Date: 2021/03/23
Technology: Application Development Tools

Content

Oracle Java Development Kit is a free Java application development kit. Extends Oracle Corporation.

The Java compiler (javac), standard Java class libraries, examples, documentation, utilities, and Java environment (JRE) are included. JDK does not have a development environment.

Appearing in the nineties, the Java plugin was designed to endow web pages with application functionality using Java applet processing. However, with the advent of HTML5 and other modern web development tools, the need for the use of applets gradually disappeared.

2021: Oracle JDK 16

On March 23, 2021, Oracle announced the release of the Java 16 platform (Oracle JDK 16), which includes 17 improvements. In the updated release of Java Development Kit (JDK), the Pattern Match functions for the InstanceOf operator (JEP 394) and Records (JEP 395), syntax improvements, first introduced as previews in Java 14, are finalized. In addition, with the release of this release, developers can use the packaging tool (JEP 392) to create self-sufficient Java applications. Three incubation modules are available for study: Vector API Vector Computation Conversion Toolkit (JEP 338), Static Native Code Access Toolkit from Java Foreign Linker API (JEP 389) and Out of Heap Java API (JEP 393), as well as "Sealed" classes that appeared in Java 16 in the second mode.

Oracle JDK 16

According to the company, Oracle releases Java releases every six months to provide developers with a clear schedule. Semi-annual updates provide access to a continuous stream of innovation and continuously optimize productivity, stability, and security.

File:Aquote1.png
With the release of the release, we once again made sure that the schedule for the release of updates every six months is convenient and effective. Pattern Matching for Operator InstanceOf and Recordings were first featured in the release of JDK 14 and have since gone through several rounds of testing and practical application with feedback from the community. This process not only gave Java developers the opportunity to experiment with functions before finalization, but also made it possible to hear criticism. As a result, two stable JEPs were created that really meet the needs of the community.

noted Georges Saab, Vice President, Java Platform Group, Oracle
File:Aquote2.png

The Java 16 release is the result of a development process open to criticism and wishes from the community. During the preparation process, regular reviews and weekly interim assemblies were published. Intensive collaboration between Oracle developers and community members from around the world was carried out through OpenJDK Community and Java Community Process. Short list of functionality available in Java 16 release:

  • Language optimization first introduced in JDK 14 and finalized in JDK 16
    • JEP 394: Pattern Matching for instanceof - Optimizes the Java programming language by allowing pattern matching for the InstanceOf operator.
    • JEP 395: Records - Extends the Java programming language with recordings that are classes that act as transparent media for immutable data. Records can be considered as nominal tuples.

  • JEP 392: Packaging Tool - Provides a jpackage tool for packaging self-sufficient Java applications.

    • Optimized memory management to optimize the performance of JEP 387: Elastic Metaspace - More quickly returns unused metadata memory of class HotSpot (metaspace) to the operating system, reduces the amount of meta-space and simplifies meta-space code to reduce maintenance costs.
    • JEP 376: ZGC: Concurrent Thread-Stack Processing - Moves the processing of the stack of ZGC streams from safepoints to the parallel phase. This eliminates the last significant bottleneck for simultaneous stack processing.

  • Optimized networking to optimize developer performance and flexibility

    • JEP 380: UNIX-Domain Socket Channels - The release added support for Unix domain sockets in socket channel and server-socket channel API package java.nio.channels. Such sockets are used for inter-process communication within a single host, and they do not use network connections, which makes such interaction more secure and efficient. They are similar in many ways to TCP/IP sockets, except that they are accessed by file system paths, and not by Internet Protocol (IP) addresses and port numbers.

  • Resolve incompatibility with future releases

    • JEP 396: Strongly Encapsulate JDK Internals by Default - I In JDK 9 encapsulated internal API elements, thereby restricting access to them. However, to facilitate the transition, at the time of JDK 9 exit, it was decided not to encapsulate as strictly at runtime the contents of the packets as required in JDK 8. In JDK 16, the restriction is tightened again, most internal JDK elements are encapsulated by default, with the exception of critical internal APIs, for example, sun.misc.Unsafe. End users can still select the simplified strong encapsulation that has been used by default since JDK 9 was released. This will encourage developers to move from using internal elements to using standard APIs so that both they and users can easily migrate to future versions of Java.
    • JEP 390: Warnings for Value-Based Classes - Primitive type wrapper classes are now classified as value-based classes, and their constructors, which have previously become deprecated in Java 9, are now marked as deprecated for removal. Provides warnings about incorrect attempts to synchronize instances of any value-based classes in the Java platform.

  • Incubation modules and previews

    • JEP 338: Vector API (Incubator) - Is an initial iteration of the jdk.incubator.vector incubator module to convert vector calculations that are compiled at runtime into optimal vector hardware instructions on CPU-supported architectures.
    • JEP 389: Foreign Linker API (Incubator) - an API that offers static, easier access from Java to native code.
    • JEP 393: Foreign-Memory Access API (Third Incubator) - an API that allows Java programs to safely and efficiently access external memory outside the Java heap.
    • JEP 397: Sealed Classes (Second Preview) - Optimizes the Java programming language using sealed classes and interfaces. Sealed classes and interfaces limit the ability for other classes or interfaces to extend or implement them.

  • Optimization based on the wishes of community members OpenJDK

    • JEP 347: Enable C++ 14 Language Features (in the JDK source code) - Allows you to use the functions of the C++ 14 language standard in the source code of JDK C++ and gives specific recommendations on which of these functions can be used in HotSpot code.
    • JEP 357: Migrate from Mercurial to Git - Migrates OpenJDK community source code repositories from Mercurial (hg) to Git.
    • JEP 369: Migrate to GitHub - Hosts Git community repositories OpenJDK on GitHub.

  • Ports that support Java on other platforms

    • JEP 386: Alpine Linux Port - Ports JDK to Alpine Linux and other Linux distributions that use musl as the main C library, both for the x64 architecture and for the AArch64 architecture.
    • JEP 388: Windows/Aarch64 Port - Ports JDK to Windows/AArch64.

File:Aquote1.png
Instead of wondering every three or four years what updates have appeared in Java, I live in another Oracle rhythm offered to me, which allows me to remain an active developer, teacher and instructor. I expected to be able to use the syntax of "Records" to optimize the performance and readability of my data processing code after I tested this function in preview. And in this release, the feature became available for work.

noted Jose Pomar, associate professor at Sorbonne University Paris Nor, and one of the organizers of the Paris Java User group
File:Aquote2.png

2016: Oracle refuses to develop Java plugin

Oracle Corporation announced the gradual elimination of the use of the Java plugin for browsers. It will be removed from the Java Development Kit and Java Runtime Environment components of future Java SE releases starting in September 2016.

Developers of applications that can only run using the Java plugin can take advantage of an alternative in the person of Java Web Start technology, which does not require the installation of modules, representatives of the corporation said.

2015: Oracle released Java Development Kit 8, Update 40

On March 12, 2015, Oracle announced the release of Java Development Kit (JDK) 8, Update 40 (JDK 8u40).

Product window screenshot, 2015

JDK 8u40 introduces performance, scalability, and administration improvements to help Java developers, partners, and IT decision makers innovate and improve applications faster and easier. This version includes JavaFX updates.

2013: JDK 7 Update 40

On September 10, 2013, JDK Oracle announced the release of JDK 7 Update 40 (JDK 7u40), which provides advanced monitoring and diagnostic functionality, increased performance and efficiency ON Java on a servers processor architecture. ARM


Available additions

Oracle Java Mission Control and Oracle Java Flight Recorder are now available as commercial functions in the Oracle Java SE Advanced product (these options can be downloaded free of charge for trial use as part of the JDK 7u40 package, however, when used on an industrial scale based on the Oracle Binary Code License Agreement, it is necessary to purchase Oracle Java Advanced license).


Application and Version Control

JDK 7u40 implements the new Deployment Rule Set feature. With it, the system administrator controls which applets or applications of Java Web Start are executed by the user, which version of Java Runtime Environment (JRE) is associated with them. Deployment Rule Set provides a single environment for controlled and secure user access control.


Mobile Architecture Support

The JDK 7u40 package is certified for the ARM v7 processor architecture and includes new support for hard float computing operations, which improves performance and responsiveness for GUI and Java server applications running on ARM servers.


Graphic functions

JDK 7u40 provides support for Retina displays, which are equipped with devices with Mac OS X. Java software will now recognize Retina screens and automatically generate high-resolution graphics.

You look also