Oracle
Oracle
Email Icon   Forward to a friend
Oracle Logo
Java Magazine
Java Magazine
Plus: Learn how to handle time zones in distributed systems using RESTful services.

July 2023

Visit Java Magazine
The new name is Oracle GraalVM, and along with the new name is a new license model: You can now use all the goodness in Oracle GraalVM for free. That’s both for development and production, by the way.

Here are some of the key details.

Oracle is making Oracle GraalVM for JDK 17, Oracle GraalVM for JDK 20 (previously known as Oracle GraalVM Enterprise), and subsequent releases, including all quarterly security updates, free.

These releases will be available under the GraalVM Free Terms and Conditions (GFTC) license. This license, subject to its conditions, permits free use for all users, even for production use. Redistribution is permitted if it is not for a fee.

For designated Long-Term Support (LTS) releases such as GraalVM for JDK 17, Oracle will provide free GFTC releases until one full year after the subsequent LTS release. Prior releases are not affected by this change.

You can now easily download, use, share, and redistribute Oracle GraalVM without needing a click-through license agreement. And Oracle will continue to provide GPL-licensed GraalVM Community Edition releases under the same terms as Oracle builds of OpenJDK.

Oracle GraalVM downloads are available on the Java Downloads page. To get started, consult the installation guides, documentation, and release notes for Oracle GraalVM for JDK 17 and Oracle GraalVM for JDK 20.

Take care,
Alan Zeichick
Editor in Chief, Java Magazine
@zeichick

P.S. In other news, check out Graal Cloud Native (GCN), which is a set of Micronaut framework modules that simplify multicloud application development and are designed from the ground up to be compiled ahead of time with GraalVM Native Image.
The newest Java Magazine articles
Handling time zones in distributed systems, Part 1
Handling dates and times in applications is a common and challenging problem requiring a particular design and implementation to ensure a correct solution. Mohamed Taman starts his two-parter by exploring the issue and presenting a sample application implementation, with an API, to provide an end-to-end solution for a distributed environment.

Handling time zones in distributed systems, Part 2

Building on the first article in this series, Mohamed Taman shows how to use JSR 310, the java.time API, to implement zoned date and time operations into an end-to-end service. The service uses RESTful-based controllers to connect to business logic that resides in the services layer, while connecting to a database through the repository layer.

Method handles: A better way to do Java reflection
What is reflection? Why does it matter? The previous articles in Ben Evans’ three-part series explored the topic and discussed the implementation of reflection as it shipped in versions of Java up to and including Java 17. This series concludes by building upon this base and explaining the new implementation that ships with Java 18 and later.
Spotlight on Ben Evans
One of Java Magazine’s best-loved writers, Ben Evans, is a technologist with many years of professional experience developing and running world-class projects. His main technical interests are high-performance, scalable architectures and applying cutting-edge tech to provide competitive advantage. Ben’s other driving passion is the creation and development of technical communities—including mentoring and developing junior developers; running focused, agile development teams; and organizing international events.

A Java Champion, Ben is the author of five technical books, including Java in a Nutshell (O’Reilly) and Optimizing Java (O’Reilly). His recent articles include

  • Reflection for the modern Java programmer
  • The performance implications of Java reflection
  • Method handles: A better way to do Java reflection
  • Efficient JSON serialization with Jackson and Java
  • Modern file input/output with Java Path API and Files helper methods
  • Modern file input/output with Java: Let’s get practical
  • Modern file input/output with Java: Going fast with NIO and NIO.2
  • Escape analysis in the HotSpot JIT compiler
  • A peek into Java 17: Encapsulating the Java runtime internals
  • Understanding Java method invocation with invokedynamic
More Ben Evans
More recent Java Magazine articles
All about Java’s instance initializer blocks

Curly Braces #10: The best way to measure Java developer productivity

The hidden and not-so-hidden gems in Java 20

Book review: DevOps Tools for Java Developers

Java 20 is here: Strengthening Java’s foundation for the future

Pseudorandom numbers in Java, Part 1: The background

Pseudorandom numbers in Java, Part 2: Randomness with Java 17

Reduce technical debt by valuing comments as much as code
Visit Java Magazine
Complimentary subscription to Java Magazine
Java Magazine is a deep dive into Java and the JVM. Find detailed explanations about the language and the platform written by experts and members of the Java development team.

Join a quarter of a million subscribers in getting useful, authoritative programming information delivered directly to your inbox.
Subscribe
Stay connected
#oraclejavamag | dev.java
Facebook Twitter RSSfeed
Terms of Use and Privacy | Unsubscribe | Contact Us | 
This email was sent to you because you subscribed to this newsletter.

Copyright © 2023, Oracle and/or its affiliates. All rights reserved. Oracle Corporation - Worldwide Headquarters, 2300 Oracle Way, Austin, TX 78741, United States
Oracle