Deprecated: Function jetpack_form_register_pattern is deprecated since version jetpack-13.4! Use Automattic\Jetpack\Forms\ContactForm\Util::register_pattern instead. in /home/c2210070/public_html/wp-includes/functions.php on line 6078

Warning: Cannot modify header information - headers already sent by (output started at /home/c2210070/public_html/wp-includes/functions.php:6078) in /home/c2210070/public_html/wp-includes/feed-rss2.php on line 8
Georges Saab – ITseller US https://itseller.us Caribbean IT channel news Mon, 27 Mar 2023 12:26:10 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 192131223 Oracle Releases Java 20 https://itseller.us/2023/03/oracle-releases-java-20/ https://itseller.us/2023/03/oracle-releases-java-20/#respond Mon, 27 Mar 2023 12:26:10 +0000 https://itseller.us/?p=2850 Oracle announced the availability of Java 20, the latest version of the world’s number one programming language and development platform. Java 20 (Oracle JDK 20) delivers thousands of performance, stability, and security improvements, including platform enhancements that will help developers improve productivity and drive innovation and growth across their organizations. Oracle is showcasing the latest capabilities in Java 20 during the Java Developer Day that takes place at the Oracle DevLive Level Up event, which runs March 20-23 at Redwood Shores, CA and online.

“For more than 25 years, Java has empowered developers to design and build the next generation of robust, scalable, and secure applications,” said Georges Saab, senior vice president of development, Java Platform and chair, OpenJDK Governing Board, Oracle. “The innovative new enhancements in Java 20 reflect the vision and invaluable efforts the global Java community has contributed throughout Java’s existence. With the support provided by Oracle’s ongoing Java technology leadership and community stewardship, Java has never been more relevant as a contemporary language and platform that helps developers improve productivity.”

The latest Java Development Kit (JDK) provides updates and improvements with seven JDK Enhancement Proposals (JEPs). The majority of the updates are follow-up features improving on functionality introduced in earlier releases.

JDK 20 delivers language improvements from OpenJDK project Amber (Record Patterns and Pattern Matching for Switch); enhancements from OpenJDK Project Panama to interconnect Java Virtual Machine (JVM) and native code (Foreign Function & Memory API and Vector API); and features related to Project Loom (Scoped Values, Virtual Threads, and Structured Concurrency), which will dramatically streamline the process of writing, maintaining, and observing high-throughput, concurrent applications.

“Organizations today face increasing pressure to use their resources as wisely and efficiently as possible, which requires developers to seek tools that streamline application development while helping ensure their organizations achieve their IT security and compliance goals,” said Jay Lyman, senior research analyst, S&P Global Market Intelligence. “Digital transformation leaders say they’re more focused on improving time to market and the agility that can be gained with better tools that can accelerate their organization’s application development initiatives.”

Oracle delivers new Java feature releases every six months via a predictable release schedule. This cadence provides a steady stream of innovations, while delivering continuous improvements to the platform’s performance, stability, and security that help increase Java’s pervasiveness across organizations and industries of all sizes.

The most significant updates delivered in Java 20 are:

Language Updates and Improvements

  • JEP 432: Record Patterns (Second Preview): Enhances the Java language by allowing users to nest record patterns and type patterns to create a powerful, declarative, and composable form of data navigation and processing. This helps increase developer productivity by enabling them to extend pattern matching to allow for more sophisticated and composable data queries.
  • JEP 433: Pattern Matching for Switch (Fourth Preview): By extending pattern matching to switch, an expression can be tested against a number of patterns—each with a specific action—so that complex data-oriented queries can be expressed concisely and safely. Expanding the expressiveness and applicability of switch expressions and statements helps increase developer productivity.

Project Loom Preview/Incubator Features

  • JEP 429: Scoped Values (Incubator): Enables the sharing of immutable data within and across threads, which are preferred to thread-local variables – especially when using large numbers of virtual threads. This increases ease-of-use, comprehensibility, robustness, and performance.
  • JEP 436: Virtual Threads (Second Preview): Significantly streamline the process of writing, maintaining, and observing high-throughput, concurrent applications by introducing lightweight virtual threads to the Java Platform. By enabling developers to easily troubleshoot, debug, and profile concurrent applications with existing JDK tools and techniques, virtual threads helps accelerate application development.
  • JEP 437: Structured Concurrency (Second Incubator): Simplifies multithreaded programming by treating multiple tasks running in different threads as a single unit of work. This helps development teams streamline error handling and cancellation, improve reliability, and enhance observability.

Project Panama Preview Features

  • JEP 434: Foreign Function & Memory API (Second Preview): Enables Java programs to interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the Java Virtual Machine [JVM]), and by safely accessing foreign memory (i.e., memory not managed by the JVM), this feature enables Java programs to call native libraries and process native data without requiring the Java Native Interface. This increases ease-of-use, performance, and safety.
  • JEP 438: Vector API (Fifth Incubator): Expresses vector computations that reliably compile at runtime to vector instructions on supported CPU architectures. This increases performance compared to equivalent scalar computations.

The Java 20 release is the result of extensive collaboration between Oracle engineers and other members of the worldwide Java developer community via OpenJDK and the Java Community Process (JCP). In addition to the new enhancements, Java 20 is supported by Java Management Service – an Oracle Cloud Infrastructure (OCI) native service – which provides a single pane of glass to help organizations manage Java runtimes and applications on-premises or on any cloud.

Supporting Java Customers and the Global Ecosystem

The Oracle Java Universal SE Subscription is a pay-as-you-go offering that provides customers with best-in-class support, including triage support for your entire Java portfolio, entitlement to GraalVM Enterprise, the Java SE Subscription Enterprise Performance Pack, access to the advanced features of the Java Management Service, and the flexibility to upgrade at the pace of their businesses. This helps IT organizations manage complexity, contain costs, and mitigate security risks. In addition, Oracle Java SE, GraalVM Enterprise, and the Java SE Subscription Enterprise Performance Pack are available free of charge on OCI, enabling developers to build and deploy applications that run faster, better, and with unbeatable cost-performance on Oracle Cloud.

]]>
https://itseller.us/2023/03/oracle-releases-java-20/feed/ 0 2850
Oracle Announces the Release of Java 17 https://itseller.us/2021/10/oracle-announces-the-release-of-java-17/ https://itseller.us/2021/10/oracle-announces-the-release-of-java-17/#respond Mon, 04 Oct 2021 17:06:26 +0000 https://itseller.us/?p=1011 Oracle announced the availability of Java 17, the latest version of the world’s number one programming language and development platform. Java 17 delivers thousands of performance, stability, and security updates, as well as 14 JEPs (JDK Enhancement Proposals) that further improve the Java language and platform to help developers be more productive.

Java 17 is the latest long-term support (LTS) release under Java’s six-month release cadence and is the result of extensive collaboration between Oracle engineers and other members of the worldwide Java developer community via the OpenJDK Community and the Java Community Process (JCP). Since the previous JDK 11 LTS released three years ago, over 70 JEPs have been implemented.

Offering a Simpler License

Oracle JDK 17 and future JDK releases are provided under a free-to-use license until a full year after the next LTS release. Oracle will also continue providing Oracle OpenJDK releases under the open-source General Public License (GPL), as it has since 2017.

Enhancing Long-Term Support for Customers

Oracle is collaborating with the Java developer community and the JCP on enhancing LTS scheduling to give organizations more flexibility on when, or if, they want to migrate to a newer Java LTS version. Oracle is proposing that the next LTS release should be Java 21 and made available in September 2023, which will change the ongoing LTS release cadence from three years to two years.

Backed by the Oracle LTS and Java SE Subscription, customers can migrate to Java 17 at the pace that best meets their needs. Oracle will provide customers with security, performance, and bug-fix updates for Java 17 through at least September 2029.

“Over the last three years we’ve heard how much developers love the latest features, and we’ve seen the ecosystem truly embrace the six-month release cadence,” said Georges Saab, vice president of development, Java Platform Group, Oracle. “One of the biggest challenges Java developers face today is that their organization only allows them to use the latest LTS release. By moving LTS releases to every two years, developers that are with conservative organizations now have more choice and access to the features that they love and want to use.”

“Oracle is making changes that will significantly benefit the Java community by shifting the long-term support releases to a two-year cadence and introducing a new, more relaxed license that provides free production use of Oracle JDK for an extended time,” said Dr. Arnal Dayaratna, research vice president, Software Development at IDC. “These changes will give organizations greater flexibility in managing the complexity of modern application development and deployments in the cloud, on-premises, and in hybrid environments.”

Accelerating Java’s Adoption in the Cloud

Java is one of the most successful development platforms ever and is built on continuous innovation that address the evolving needs of developers. To accelerate Java adoption in the cloud, Oracle recently introduced the Oracle Java Management Service, a new Oracle Cloud Infrastructure (OCI)-native service to help organizations manage Java runtimes and applications on-premises or on any cloud.

Java Management Service gives customers visibility into their Java deployments across the enterprise. This spans all of the Java versions installed in their environment, including versions of Java running in development and in production. It also highlights any unplanned Java applications running and checks if all installed Java versions are up to date with the latest security patches.

JDK 17 includes new language enhancements, updates to the libraries, support for new Apple computers, removals and deprecations of legacy features, and work to ensure Java code written today will continue working without change in future JDK versions. It also offers a language feature preview and incubating APIs to gather feedback from the Java community. Updates include:

Java Language Enhancement

  • JEP 409: Sealed Classes – Sealed classes and interfaces restrict which other classes or interfaces may extend or implement them. This enhancement is yet another improvement from Project Amber, which aims to increase developer productivity by evolving the Java language.

Updates and Improvements to Libraries

    • JEP 306: Restore Always-Strict Floating-Point Semantics – The Java programming language and Java virtual machine originally only had strict floating-point semantics. Starting in Java 1.2, small variances in those strict semantics were allowed by default to accommodate limitations of then-current hardware architectures. Those variances are no longer helpful or necessary, so they have been removed by JEP 306.
    • JEP 356: Enhanced Pseudo-Random Number Generator – Provides new interface types and implementations for pseudorandom number generators (PRNGs). This change improves the interoperability of different PRNGs and makes it easy to request an algorithm based on requirements rather than hard coding a specific implementation.
    • JEP 382: New macOS Rendering Pipeline – Implements a Java 2D pipeline for macOS using the Apple Metal API. The new pipeline will reduce the JDK’s dependency on the deprecated Apple OpenGL API.

New Platform Support

  • JEP 391: macOS AArch64 Port – Ports the JDK to the macOS/AArch64 platform. This port will allow Java applications to run natively on the new Arm 64-based Apple Silicon computers.

Removals and Deprecations

  • JEP 398: Deprecate the Applet API for Removal – All web-browser vendors have either removed support for Java browser plug-ins or announced plans to do so. The Applet API was deprecated, but not for removal, in Java 9 in September 2017.
  • JEP 407: Remove RMI Activation – Removes the Remote Method Invocation (RMI) Activation mechanism, while preserving the rest of RMI.
  • JEP 410: Remove the Experimental AOT and JIT Compiler – The experimental Java-based ahead-of-time (AOT) and just-in-time (JIT) compiler were experimental features that did not see much adoption. Being optional, they were already removed from JDK 16. This JEP removes these components from the JDK source code.
  • JEP 411: Deprecate the Security Manager for Removal – The Security Manager dates back to Java 1.0. It has not been the primary means of securing client-side Java code for many years, and it has rarely been used to secure server-side code. Removing it in a future release will eliminate a significant maintenance burden and enable the Java platform to move forward.

Future Proofing Java Programs

  • JEP 403: Strongly Encapsulate JDK Internals – It will no longer be possible to relax the strong encapsulation of internal elements via a single command-line option, as was possible in JDK 9 through JDK 16. It will still be possible to access existing internal APIs, but it will now require enumerating, as command-line parameters or JAR-file manifest attributes, each package for which encapsulation should be relaxed. This change will lead to more secure applications and fewer dependencies on non-standard, internal JDK implementation details.

Previews and Incubators for Later JDK Releases

  • JEP 406: Pattern Matching for switch (Preview) – Allows an expression to be tested against several patterns, each with a specific action, so that complex data-oriented queries can be expressed concisely and safely.
  • JEP 412: Foreign Function and Memory API (Incubator) – Improves incubating APIs introduced in JDK 14 and JDK 15 that enable Java programs to interoperate with code and data outside of the Java runtime. By efficiently invoking foreign functions (i.e., code outside the JVM), and by safely accessing foreign memory, these APIs enable Java programs to call native libraries and process native data without the brittleness and complexity of Java Native Interface (JNI). These APIs are being developed in Project Panama, which aims to improve the interaction between Java and non-Java code.
  • JEP 414: Vector API (Second Incubator) – Allows expressing vector computations that reliably compile at runtime to optimized vector instructions on supported CPU architectures, thereby achieving performance superior to equivalent scalar computations.
]]>
https://itseller.us/2021/10/oracle-announces-the-release-of-java-17/feed/ 0 1011