GraalVM compiles your Java applications ahead of time into standalone binaries. These binaries are smaller, start up to 100 times faster, provide peak performance with no warmup, and use less memory and CPU than applications running on a Java Virtual Machine (JVM). You can use the GraalVM JDK just like any other Java Development Kit in your IDE.
The technology has a new name, 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.
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.
Send your feedback on this newsletter to me at alan.zeichick@oracle.com.
Take care, Alan Zeichick Editor at Large @zeichick |
|
| Technical articles |
The SQL:2023 standard is now complete and is generally available as ISO/IEC 9075:2023. This is the successor to the SQL:2016 standard. One of the highlights of SQL:2023 is the entirely new Part 16, SQL/PGQ, which defines ways for the SQL language to represent property graphs and to interact with them. Another highlight is the addition of a new JSON data type.
Do you know how to get the difference between datetimes in days, hours, minutes, and/or seconds in Oracle Database? Chris Saxon explains that when you subtract one date from another in Oracle Database, the result is the number of days between them. Read his blog to see how to extract information from that difference.
Method handles provide 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.
Initializers can be used to set initial values for fields in objects and classes. There are three kinds of initializers in Java: field initializer expressions, static initializer blocks, and instance initializer blocks. This article, adapted from OCP Oracle Certified Professional Java SE 17 Developer (Exam 1Z0-829) Programmer’s Guide, digs into instance initializer blocks.
Here’s a cool technical case study on how to train and deploy generative AI with MosaicML and Oracle Cloud Infrastructure (OCI). This study focuses on a class of deep-learning models, known as foundation models. Training a foundation model requires three key resources: models, data, and compute. One subset of these models consists of large language models (LLMs) that power services such as ChatGPT.
The non-volatile memory express (NVMe) storage protocol delivers high throughput and low latency. The performance of I/O increased significantly with the introduction of NVMe devices that connect directly with the PCIe bus; that allows a parallel queue depth of 64,000 commands with 65,535 queues per CPU core, compared to single queues with just a few hundred commands. Here’s how to measure NVMe latency.
UEFI Secure Boot provides a security feature that ensures only trusted digitally signed binaries are executed in the boot chain. UEFI Secure Boot validates each digital signature before allowing anything to load during boot. Linux kernel modules are one of the final components of the boot chain. To maintain the signing validation requirement, all kernel modules must be signed and validated. That’s where the machine keyring comes in; see how it works.
What is drgn? It’s a powerful and flexible debugger. With drgn, you can write scripts in Python to analyze a live system, a vmcore, or a program. The symbols and types in a program are exposed by drgn so you can use those symbols to access data easily. With drgn, vmcore analysis seems like natural coding.
The hidden and not-so-hidden gems in Java 20: There’s a lot more to Java 20 than the widely publicized JEPs. Study all these changes; even if you don’t use the preview and incubator features, there are sufficient bug fixes and other enhancements to make this release worth testing and using on production systems today.
The memory address sanitizer, AddressSanitizer, is used to detect memory bugs, that is, a use-after-free bug, an out-of-bounds access, a double-free error, or a memory leak. This article provides a case study about AddressSanitizer in QEMU in user space. You’ll see how to detect a QEMU memory leak bug with AddressSanitizer, using an OCI VM instance as the Kernel-based Virtual Machine (KVM) hypervisor.
Oracle routinely runs performance tests of key components in Oracle Linux to detect significant changes in performance. One performance test, t-test1 from Phoronix Test Suite (PTS), was observed to generate excessive page faults and consume substantial CPU time in system mode when running on Oracle Linux 9 on the OCI A1 VM. Here’s a blog all about it.
A new article by Chandan Babu aims to introduce XFS’ transaction mechanism and the lifecycle of modifying metadata and writing it back to disk.To illustrate this, Chandan considers the use case of changing an inode’s modification time stamp. Note that the article is based on XFS functionality as defined in the v5.19 Linux kernel.
Recently, many samples were released that demonstrate how easy it is to use Oracle Content Management as a headless content management system (CMS). To provide more versatility, this month the Oracle JavaScript Extension Toolkit (Oracle JET) sample was released. These samples are simple to use and come with hands-on tutorials that you can use to learn and understand the technical aspects of using a CMS. Read all about it!
Discover the synergy between Oracle JET and Oracle Content Management in this concise blog post. Explore Oracle JET’s modular toolkit and prebuilt UI components for seamless front-end development. Learn how to leverage Oracle Content Management as a headless CMS to create dynamic websites. Follow step-by-step instructions, access hands-on tutorials, and explore additional samples.
Java 21 comes with a new JDK Flight Recorder view command that displays aggregated event data in the shell. The command can be used to view information about an application without the need to dump a recording file or open up JDK Mission Control. See how it works. |
|
| Join the Race to Certification with free developer certifications |
On your mark, get set, get certified. The Race to Certification has launched and provides free certification opportunities for Oracle developers through August 31, 2023. You and your developer team can gain in-demand skills covering multicloud computing, low-code development on Oracle APEX, database, security, DevOps, AI and machine learning (ML) concepts, and more.
By completing various learning milestones, you can be awarded with recognition and prizes!
Start learning today and gain an edge with an Oracle Certification. |
|
|
|
| All about Oracle Database 23c |
The good thing about the upcoming Oracle Database 23c release is that it isn’t “upcoming”—you can get it now.
The free version includes all the capabilities that are planned for the upcoming formal release, including the ability to connect Oracle Database to your favorite programming languages and development environments. It also has JSON relational duality that allows you to build apps in either relational or JSON paradigms with a single source of truth and benefit from the strengths of both.
To learn more, visit the database website, where you can deep dive into a new feature each week. There, you’ll find overview videos and blogs that get into more detail. Bookmark that page and come back each Tuesday for new insights. |
|
| Product announcements |
Oracle Linux 9 Update 2 and Oracle Linux 8 Update 8 for the 64-bit Intel and AMD (x86_64) and 64-bit Arm (aarch64) platforms are now generally available. These latest releases of Oracle Linux enhance the user experience across on-premises, cloud, and edge deployments by focusing on operational consistency and improved efficiency to accelerate time to market for critical infrastructure assets.
Unbreakable Enterprise Kernel (UEK) Release 7 Update 1 (UEK R7U1) for Oracle Linux is now available. UEK R7U1 introduces innovations in container memory management, improvements to UEFI Secure Boot procedures, advancements in NFS, and new AI and ML capabilities with Intel Advanced Matrix Extension (Intel AMX).
Oracle Cloud Native Environment Release 1.6, the scalable and highly available Kubernetes distribution that you can use to deploy your containerized applications across public clouds and on-premises, is now available. This release includes Kubernetes 1.25, advanced networking virtualization, and new technology preview modules.
Oracle VM VirtualBox—which is open source, cross-platform virtualization software—lets you deliver code faster by running multiple operating systems on a single device. IT teams and solution providers use it to reduce operational costs and shorten the time needed to securely deploy applications on-premises and to the cloud. Read all about the latest release, version 7.0.8, which is now available.
Luna is a web-based learning platform that provides free interactive labs for Oracle customers. Luna provides a configured OCI environment and step-by-step instructions enabling you to have an efficient hands-on learning experience. You do not need to provide or configure the environment, so you can focus on learning. Access to Luna requires an Oracle single sign-on (SSO) account.
Enhance your network security using Oracle Private Cloud Appliance X9-2 with Fortinet’s FortiGate Next-Generation Firewall. The newly certified solution, FortiGate Next-Generation Firewall (NGFW) on Oracle Private Cloud Appliance X9-2 helps to enhance enterprise-class firewall capabilities for organizations of all sizes, with the flexibility to deploy as an NGFW, a VPN gateway, or both. Together, these solutions help customers enhance network security. |
|
| New videos to watch on demand |
|
|
|
| Subscribe to the Oracle Developer Newsletter |
|
|
|
|