# openjdk

Published articles for openjdk.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Java 27 adds improvements to garbage collection, headers, data security, and quantum key support

DevFeed: [Java 27 adds improvements to garbage collection, headers, data security, and quantum key support](<https://devfeed.tech/articles/java-27-grows-up-makes-better-choices-30925.md>)

Original publisher: [Read original article](<https://www.theregister.com/devops/2026/09/16/java-27-grows-up-makes-better-choices/5296707>)

Author: Joab Jackson

Published: 2026-09-16T04:50:00Z

Content type: news

Language: en

Sources: [www.theregister.com - Articles](<https://devfeed.tech/sources/www-theregister-com-articles.md>)

Topics: [java-27](<https://devfeed.tech/topics/java-27.md>), [Java](<https://devfeed.tech/topics/java.md>), [Security](<https://devfeed.tech/topics/security.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [devops](<https://devfeed.tech/tags/devops.md>), [garbage-collection](<https://devfeed.tech/tags/garbage-collection.md>), [improvements](<https://devfeed.tech/tags/improvements.md>), [java](<https://devfeed.tech/tags/java.md>), [java-27](<https://devfeed.tech/tags/java-27.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [jdk-27](<https://devfeed.tech/tags/jdk-27.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [post-quantum-cryptography](<https://devfeed.tech/tags/post-quantum-cryptography.md>)

### AI overview

Java 27 introduces improvements to JDK garbage collection, header sizes, data security, and quantum key support, with the stated aim of reducing developer friction.

### Source excerpt

Improvements in JDK garbage collection, header sizes, data security and quantum key support all should minimize developer friction

## Java 27 Reaches GA With The G1 Garbage Collector By Default Everywhere

DevFeed: [Java 27 Reaches GA With The G1 Garbage Collector By Default Everywhere](<https://devfeed.tech/articles/java-27-reaches-ga-with-the-g1-garbage-collector-by-default-everywhere-26765.md>)

Original publisher: [Read original article](<https://www.phoronix.com/news/OpenJDK-27-Java-27>)

Author: Michael Larabel

Published: 2026-09-15T13:39:00Z

Content type: news

Language: en

Sources: [Phoronix](<https://devfeed.tech/sources/phoronix.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Post-Quantum](<https://devfeed.tech/topics/post-quantum.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>)

Tags: [availability](<https://devfeed.tech/tags/availability.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [desktop-linux](<https://devfeed.tech/tags/desktop-linux.md>), [java](<https://devfeed.tech/tags/java.md>), [linux-benchmarking](<https://devfeed.tech/tags/linux-benchmarking.md>), [linux-hardware-benchmarks](<https://devfeed.tech/tags/linux-hardware-benchmarks.md>), [linux-hardware-reviews](<https://devfeed.tech/tags/linux-hardware-reviews.md>), [linux-how-to](<https://devfeed.tech/tags/linux-how-to.md>), [linux-performance](<https://devfeed.tech/tags/linux-performance.md>), [linux-server-benchmarks](<https://devfeed.tech/tags/linux-server-benchmarks.md>), [open-source-graphics](<https://devfeed.tech/tags/open-source-graphics.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [phoronix](<https://devfeed.tech/tags/phoronix.md>), [phoronix-test-suite](<https://devfeed.tech/tags/phoronix-test-suite.md>), [post-quantum](<https://devfeed.tech/tags/post-quantum.md>), [release](<https://devfeed.tech/tags/release.md>), [structured-concurrency](<https://devfeed.tech/tags/structured-concurrency.md>), [tls](<https://devfeed.tech/tags/tls.md>), [ubuntu-benchmarks](<https://devfeed.tech/tags/ubuntu-benchmarks.md>), [ubuntu-hardware](<https://devfeed.tech/tags/ubuntu-hardware.md>)

### AI overview

OpenJDK 27 has reached general availability. Its G1 garbage collector is now enabled by default across environments, replacing Serial as the default in constrained environments after improvements in throughput, latency, and memory usage. The release also includes post-quantum hybrid key exchange for TLS 1.3, preview features for lazy constants and structured concurrency, compact object headers by default, and an incubating Vector API.

### Source excerpt

Oracle christened Java 27 today with the OpenJDK 27 release reaching general availability (GA) status...

## Episode 69 "Declassifying Java 27" \[IJN\]

DevFeed: [Episode 69 "Declassifying Java 27" \[IJN\]](<https://devfeed.tech/articles/episode-69-declassifying-java-27-ijn-15131.md>)

Original publisher: [Read original article](<https://inside.java/2026/09/10/podcast-069/>)

Author: Billy Korando

Published: 2026-09-10T00:00:00Z

Content type: news

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [jdk-27](<https://devfeed.tech/tags/jdk-27.md>), [news](<https://devfeed.tech/tags/news.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [podcast](<https://devfeed.tech/tags/podcast.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

This episode discusses Java 27, scheduled for release on September 15, and reviews developer-impacting changes, including new features and changes to existing behavior.

### Source excerpt

Java 27 is set to be released on September 15th, let's review what's coming!

## Episode 68 "Operator Overloading with Type Classes" \[AtA\]

DevFeed: [Episode 68 "Operator Overloading with Type Classes" \[AtA\]](<https://devfeed.tech/articles/episode-68-operator-overloading-with-type-classes-ata-15128.md>)

Original publisher: [Read original article](<https://inside.java/2026/08/27/podcast-068/>)

Author: Nicolai Parlog

Published: 2026-08-27T00:00:00Z

Content type: article

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [classes](<https://devfeed.tech/tags/classes.md>), [java](<https://devfeed.tech/tags/java.md>), [java-language](<https://devfeed.tech/tags/java-language.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [project-valhalla](<https://devfeed.tech/tags/project-valhalla.md>), [valhalla](<https://devfeed.tech/tags/valhalla.md>)

### AI overview

An Ask the Architects episode discusses how OpenJDK's Project Valhalla is improving Java's support for custom numerical types, including possible limited operator overloading for custom value types.

### Source excerpt

How OpenJDK's Project Valhalla is improving Java's support for custom numerical types.

## Value Classes Still Need Compiler Sympathy

DevFeed: [Value Classes Still Need Compiler Sympathy](<https://devfeed.tech/articles/value-classes-still-need-compiler-sympathy-15126.md>)

Original publisher: [Read original article](<https://inside.java/2026/08/24/value-classes-compiler-sympathy/>)

Author: Johan Sjölén

Published: 2026-08-24T00:00:00Z

Content type: article

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [JDK 28](<https://devfeed.tech/topics/jdk-28.md>), [Optimization](<https://devfeed.tech/topics/optimization.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [jdk-28](<https://devfeed.tech/tags/jdk-28.md>), [jep-401](<https://devfeed.tech/tags/jep-401.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [payload](<https://devfeed.tech/tags/payload.md>), [profiling](<https://devfeed.tech/tags/profiling.md>), [project-valhalla](<https://devfeed.tech/tags/project-valhalla.md>), [valhalla](<https://devfeed.tech/tags/valhalla.md>)

### AI overview

This article examines value classes as a preview feature in JDK 28 and explains how giving up object identity can enable JVM optimizations such as flattening and scalarization. It also describes limitations caused by representation changes, abstraction boundaries, mutability, and generic virtual calls.

### Source excerpt

Declaring a value class is first and foremost a semantic decision. It tells our fellow programmers that its instances are defined entirely by their state and do not need identity. That clearer model is valuable in itself! The JVM's additional freedom to optimize how those values are represented is a welcome bonus. C2 can do amazing things with that freedom, but it cannot always recover information hidden behind abstraction boundaries. Profiling and inspecting the generated code remain the best ways to understand what is happening. To get the best results, we may still need to have a little sympathy for the compiler.

## Java's String.indexOf can be slow (quadratic)

DevFeed: [Java's String.indexOf can be slow (quadratic)](<https://devfeed.tech/articles/java-s-string-indexof-can-be-slow-quadratic-29424.md>)

Original publisher: [Read original article](<https://lemire.me/blog/2026/08/22/javas-string-indexof-can-be-slow-quadratic/>)

Author: Daniel Lemire

Published: 2026-08-22T14:56:16Z

Content type: article

Language: en

Sources: [Daniel Lemire](<https://devfeed.tech/sources/daniel-lemire.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [complexity](<https://devfeed.tech/tags/complexity.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [java](<https://devfeed.tech/tags/java.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>)

### AI overview

Java's String.indexOf can exhibit O(n-m) behavior on adversarial inputs with long substrings. The article compares it with the Two-Way algorithm and explains why Java's implementation remains suitable for typical workloads.

### Source excerpt

In Java, you find the location of a substring using indexOf. String haystack = "The quick brown fox jumps over the lazy dog"; String needle = "fox"; int index = haystack.indexOf(needle); Naively, you might implement indexOf by a loop inside a loop, like so. int naiveIndexOf(String haystack, String needle) { for (int i = 0; ... Continue reading Java's String.indexOf can be slow (quadratic)

## Quality Outreach Heads-up - JDK 28: Named Group Information Captured in the TLSHandshake JFR Event

DevFeed: [Quality Outreach Heads-up - JDK 28: Named Group Information Captured in the TLSHandshake JFR Event](<https://devfeed.tech/articles/quality-outreach-heads-up-jdk-28-named-group-information-captured-in-the-tlshandshake-jfr-event-15125.md>)

Original publisher: [Read original article](<https://inside.java/2026/08/21/quality-heads-up/>)

Author: Ana-Maria Mihalceanu

Published: 2026-08-21T00:00:00Z

Content type: release

Language: en

Sources: [Inside Java](<https://devfeed.tech/sources/inside-java.md>)

Topics: [JDK 28](<https://devfeed.tech/topics/jdk-28.md>), [Flight](<https://devfeed.tech/topics/flight.md>), [TLS (Transport Layer Security)](<https://devfeed.tech/topics/tls.md>), [Security](<https://devfeed.tech/topics/security.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>)

Tags: [jdk-28](<https://devfeed.tech/tags/jdk-28.md>), [jdk-flight-recorder](<https://devfeed.tech/tags/jdk-flight-recorder.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [release](<https://devfeed.tech/tags/release.md>), [security](<https://devfeed.tech/tags/security.md>), [tls](<https://devfeed.tech/tags/tls.md>), [tls-handshake](<https://devfeed.tech/tags/tls-handshake.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

The OpenJDK Quality Group announces that, starting with JDK 28, the jdk.TLSHandshake JFR event records the named group negotiated between the client and server during key exchange. The event is disabled by default and requires explicit enablement.

### Source excerpt

This Heads-Up is part of the regular communication sent to the projects involved; it covers that the named group information is included in the jdk.TLSHandshake JFR event.

## Security Baked Into the JVM: why fork Apache River and OpenJDK?

DevFeed: [Security Baked Into the JVM: why fork Apache River and OpenJDK?](<https://devfeed.tech/articles/security-baked-into-the-jvm-why-fork-apache-river-and-openjdk-18928.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/security-baked-into-jvm/1/>)

Author: Peter Firmstone

Published: 2026-06-28T00:00:00Z

Content type: opinion

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Remote Procedure Call (RPC)](<https://devfeed.tech/topics/rpc.md>), [Networks](<https://devfeed.tech/topics/networks.md>)

Tags: [authorization](<https://devfeed.tech/tags/authorization.md>), [dirtychai](<https://devfeed.tech/tags/dirtychai.md>), [discovery](<https://devfeed.tech/tags/discovery.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [java](<https://devfeed.tech/tags/java.md>), [jgdms](<https://devfeed.tech/tags/jgdms.md>), [jini](<https://devfeed.tech/tags/jini.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [lock-free](<https://devfeed.tech/tags/lock-free.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [rpc](<https://devfeed.tech/tags/rpc.md>), [security](<https://devfeed.tech/tags/security.md>), [self-healing](<https://devfeed.tech/tags/self-healing.md>), [technical](<https://devfeed.tech/tags/technical.md>)

### AI overview

This article introduces DirtyChai, a community fork of OpenJDK that restores Java authorization infrastructure, and JGDMS, a security-hardened fork of Apache River for dynamically discoverable microservices over IPv6. It argues that distributed systems require security beyond network firewalls and outlines the projects' complementary roles, including authorization, service discovery, hardened deserialization, transport security, proxy trust verification, and codebase safety checks.

### Source excerpt

The more distributed a system, the harder it is to secure. Code crosses JVM boundaries. Objects are serialized across trust boundaries. Third-party proxies run inside your process. The usual answer is a network firewall. It helps, but it operates at the wrong level. Java 17 deprecated the SecurityManager, Java 24 put the final nail in its coffin. Most developers didn't notice.

## How Gradle Is Javamaxxing

DevFeed: [How Gradle Is Javamaxxing](<https://devfeed.tech/articles/how-gradle-is-javamaxxing-24628.md>)

Original publisher: [Read original article](<https://blog.gradle.org/gradle-is-javamaxxing>)

Author: Laura Kassovic

Published: 2026-05-28T04:00:00Z

Content type: article

Language: en

Sources: [The Gradle Blog](<https://devfeed.tech/sources/the-gradle-blog.md>)

Topics: [Gradle](<https://devfeed.tech/topics/gradle.md>), [Java](<https://devfeed.tech/topics/java.md>), [toolchains](<https://devfeed.tech/topics/toolchains.md>), [toolchain](<https://devfeed.tech/topics/toolchain.md>)

Tags: [bytecode](<https://devfeed.tech/tags/bytecode.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [garbage-collectors](<https://devfeed.tech/tags/garbage-collectors.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [java](<https://devfeed.tech/tags/java.md>), [java-8](<https://devfeed.tech/tags/java-8.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance-optimization](<https://devfeed.tech/tags/performance-optimization.md>), [release](<https://devfeed.tech/tags/release.md>)

### AI overview

Gradle aggressively adopts new JDK releases because newer JVMs can improve build speed, memory use, startup behavior, and maintainability. JVM toolchains allow Gradle to run on JDK 26 while compiling and testing projects for older Java versions, including producing Java 8-compatible bytecode.

### Source excerpt

Some people optimize one part of their lives to the absolute limit, then past it. They call it "-maxxing." Houseplantmaxxing. Sleepmaxxing. Tokenmaxxing. The Gradle Build Tool is Javamaxxing. TL;DR Breathe easy knowing you can run modern Gradle on JDK 26 while still shipping Java 8-compatible artifacts: Gradle aggressively adopts new JDKs because newer JVMs make builds faster, leaner, and easier to maintain. Upgrading the JDK that runs Gradle is often the easiest performance win. JVM toolchains fully separate the JVM running Gradle, the JVM compiling your code, and the JVM running your tests. NOT TL;DR We aggressively adopt new JDK releases as soon as we responsibly can. Not because it's trendy. Because newer JDKs make Gradle faster, leaner, and easier to maintain. Every OpenJDK release ships improvements to the JVM; garbage collectors, compiler infrastructure, startup behavior, memory layout, and runtime APIs. As a high-performance JVM build tool, Gradle benefits directly from all of it. The question people immediately ask is: Does this mean my project also has to run on the newest JDK? No. That coupling effectively disappeared once Gradle introduced JVM toolchains. With toolchains, the JVM that runs Gradle is completely separate from the JVM that compiles, tests, and executes your code. You can run Gradle on JDK 26 today and still produce Java 8 bytecode. What Is the Current State of Gradle and Java? We add daemon support for every new JDK as soon as the ecosystem permits: Java 24 in Gradle 8.14.0, Java 25 in 9.1.0 (released two days after JDK 25 GA), Java 26 in 9.4.0. The full mapping is in the Compatibility Matrix. We then bump the minimum JVM required to execute Gradle as users move. Gradle 9.0.0, released on July 31, 2025, raised the minimum JVM required to run the Gradle daemon to Java 17. That was the first daemon JVM floor increase since Gradle 5.0 made Java 8 the minimum back in 2018. The next major transition is already underway, Gradle 10.0.0 will likely

## Using Ahead-of-Time Cache Optimizations in Recent JDK Releases

DevFeed: [Using Ahead-of-Time Cache Optimizations in Recent JDK Releases](<https://devfeed.tech/articles/run-into-the-new-year-with-java-s-ahead-of-time-cache-features-23028.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/run-java-aot-cache-optimizations.html>)

Author: Ana-Maria Mihalceanu

Published: 2025-12-17T03:03:45Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [JIT](<https://devfeed.tech/topics/jit.md>), [Memory safety verification](<https://devfeed.tech/topics/memory-safety-verification.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [cache](<https://devfeed.tech/tags/cache.md>), [guides](<https://devfeed.tech/tags/guides.md>), [java](<https://devfeed.tech/tags/java.md>), [java-advent](<https://devfeed.tech/tags/java-advent.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [jdk25](<https://devfeed.tech/tags/jdk25.md>), [jit](<https://devfeed.tech/tags/jit.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [performance](<https://devfeed.tech/tags/performance.md>), [project-leyden](<https://devfeed.tech/tags/project-leyden.md>), [startup](<https://devfeed.tech/tags/startup.md>)

### AI overview

This tutorial explains how to use Ahead-of-Time cache features in recent JDK releases to improve Java application startup time and warm-up performance. It covers the train, assemble, and run workflow introduced in JDK 24 and method profiling improvements in JDK 25.

### Source excerpt

As the year comes to a close, turn your focus to boosting your Java application performance by applying Ahead-of-Time (AOT) cache features in recent JDK releases. This article guides you through using AOT cache optimizations in your application, thereby minimizing startup time and achieving faster peak performance. What is the Ahead-of-time cache in the jdk [...] The post Run Into the New Year with Java's Ahead-of-Time Cache Features appeared first on JVM Advent.

## Using Java's Foreign Function & Memory API to simplify Pi4J native interactions

DevFeed: [Using Java's Foreign Function & Memory API to simplify Pi4J native interactions](<https://devfeed.tech/articles/the-ffm-api-how-openjdk-changed-the-game-for-native-interactions-and-made-pi4j-better-23017.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/ffm-api-for-java-on-raspberry-pi.html>)

Author: Frank Delporte

Published: 2025-12-16T03:03:39Z

Content type: article

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [Raspberry Pi](<https://devfeed.tech/topics/raspberry-pi.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Java](<https://devfeed.tech/topics/java.md>), [Library](<https://devfeed.tech/topics/library.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [code](<https://devfeed.tech/tags/code.md>), [java](<https://devfeed.tech/tags/java.md>), [library](<https://devfeed.tech/tags/library.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [raspberry-pi](<https://devfeed.tech/tags/raspberry-pi.md>)

### AI overview

The article explains how Java's Foreign Function & Memory API, finalized in Java 22, can simplify Pi4J's interaction with native libraries and memory on Raspberry Pi. It contrasts the API with Pi4J's earlier JNI and Java Native Access approach, focusing on memory safety, easier native-library access, and maintainability.

### Source excerpt

The Pi4J project is a Java library that allows you to control the GPIO pins and electronic components connected to a Raspberry Pi with pure Java code. It removes the complexity of using native libraries and the Java Native Interface (JNI), allowing you to focus on your application logic. In the Java Advent of 2020, I published "Light up [...] The post The FFM API: How OpenJDK Changed the Game for Native Interactions (And Made Pi4J Better!) appeared first on JVM Advent.

## A Glance at GPU Goodness in Java: LLM Inference with TornadoVM

DevFeed: [A Glance at GPU Goodness in Java: LLM Inference with TornadoVM](<https://devfeed.tech/articles/a-glance-at-gpu-goodness-in-java-llm-inference-with-tornadovm-23010.md>)

Original publisher: [Read original article](<https://www.javaadvent.com/2025/12/a-glance-at-gpu-goodness-in-java-llm-inference-with-tornadovm.html>)

Author: Edoardo Vacchi

Published: 2025-12-11T03:03:21Z

Content type: tutorial

Language: en

Sources: [Java Advent Calendar](<https://devfeed.tech/sources/java-advent-calendar.md>)

Topics: [TornadoVM](<https://devfeed.tech/topics/tornadovm.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [c-c-plus-plus](<https://devfeed.tech/tags/c-c-plus-plus.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [inference](<https://devfeed.tech/tags/inference.md>), [java](<https://devfeed.tech/tags/java.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [linux](<https://devfeed.tech/tags/linux.md>), [llama3](<https://devfeed.tech/tags/llama3.md>), [llm](<https://devfeed.tech/tags/llm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [tornadovm](<https://devfeed.tech/tags/tornadovm.md>)

### AI overview

This tutorial introduces TornadoVM, an OpenJDK plugin that compiles annotated Java code for heterogeneous hardware, and explains how it can run LLM inference on GPUs. It covers installation, a basic GPU kernel, and the GPULlama3 project, which demonstrates running a Llama 3 model in Java with GPU acceleration.

### Source excerpt

It seems like it's become a tradition that I announce I have joined a new company for the Java Advent of Code. At least this time it's actually an old friend: I am excited to be back at Red Hat, in the llm-d team! Does that mean I forgot about Java? Of course not. If [...] The post A Glance at GPU Goodness in Java: LLM Inference with TornadoVM appeared first on JVM Advent.

## A hardware bug caused intermittent HBase slowdowns at HubSpot

DevFeed: [A hardware bug caused intermittent HBase slowdowns at HubSpot](<https://devfeed.tech/articles/it-s-never-a-hardware-bug-until-it-is-29108.md>)

Original publisher: [Read original article](<https://product.hubspot.com/blog/its-never-a-hardware-bug-until-it-is>)

Author: Charles Connell

Published: 2025-09-24T16:38:06Z

Content type: article

Language: en

Sources: [HubSpot](<https://devfeed.tech/sources/hubspot.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Java](<https://devfeed.tech/topics/java.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [bug](<https://devfeed.tech/tags/bug.md>), [database](<https://devfeed.tech/tags/database.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [latency](<https://devfeed.tech/tags/latency.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

HubSpot investigated intermittent slowdowns in HBase clusters storing CRM data. Increased request-handler occupancy, request latency, disk-read latency, CPU usage, and garbage-collection time made some page loads noticeably slower without triggering automatic failure monitoring. An OpenJDK mitigation is expected in OpenJDK 27.

### Source excerpt

Edit, April 30 2026: The OpenJDK now contains a mitigation for the hardware bug described in this article, which will appear in OpenJDK 27. Thank you to Evgeny Astigeevich at AWS for his work on the mitigation. Most software developers have heard the maxim, "it's never a compiler bug," and its companion, "it's never a hardware bug." But if you investigate enough bugs, you'll eventually find an exception to this rule, and that's what we found recently at HubSpot. I discovered how a hardware bug was affecting our users' experience.

## Chainguard x Azul: Secure Java Containers without Compromise

DevFeed: [Chainguard x Azul: Secure Java Containers without Compromise](<https://devfeed.tech/articles/chainguard-x-azul-secure-java-containers-without-compromise-12930.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguard-azul-secure-java-containers-without-compromise>)

Published: 2025-06-12T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [supply-chain-security](<https://devfeed.tech/topics/supply-chain-security.md>), [Cloud Native Ecosystem](<https://devfeed.tech/topics/cloud-native-ecosystem.md>), [chainguard](<https://devfeed.tech/topics/chainguard.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [azul](<https://devfeed.tech/tags/azul.md>), [catalog](<https://devfeed.tech/tags/catalog.md>), [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [cloud-native](<https://devfeed.tech/tags/cloud-native.md>), [containers](<https://devfeed.tech/tags/containers.md>), [hardened-images](<https://devfeed.tech/tags/hardened-images.md>), [java](<https://devfeed.tech/tags/java.md>), [java-container-images](<https://devfeed.tech/tags/java-container-images.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [partnership](<https://devfeed.tech/tags/partnership.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [security](<https://devfeed.tech/tags/security.md>), [software-supply-chain-security](<https://devfeed.tech/tags/software-supply-chain-security.md>)

### AI overview

Chainguard announces a partnership with Azul to offer curated Azul OpenJDK distributions in the Chainguard Catalog. The distributions are built from Azul source code in the Chainguard Factory and delivered as minimal, zero-CVE container images with commercial support, Java compatibility testing, and security testing.

### Source excerpt

We're excited to announce a strategic partnership with Azul that brings its curated OpenJDK® distributions to the Chainguard Catalog.

## JEP 483: Ahead-of-Time Class Loading and Linking in Java 24

DevFeed: [JEP 483: Ahead-of-Time Class Loading and Linking in Java 24](<https://devfeed.tech/articles/let-s-take-a-look-at-jep-483-ahead-of-time-class-loading-linking-18841.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/jep-483-aot-class-loading-linking/>)

Published: 2025-03-27T13:00:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [apache-flink](<https://devfeed.tech/topics/apache-flink.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [java](<https://devfeed.tech/tags/java.md>), [jvm](<https://devfeed.tech/tags/jvm.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article examines JEP 483, which loads and links Java classes ahead of time and caches the results to reduce application startup time. It explains the feature's role in Project Leyden, its relationship to AppCDS, the training-run and classpath requirements, and examples using Apache Kafka and Apache Flink.

### Source excerpt

Table of Contents Building an AOT Cache for Apache Kafka AOT Caching With Apache Flink Summary In the "Let's Take a Look at...!" blog series I am exploring interesting projects, developments and technologies in the data and streaming space. This can be KIPs and FLIPs, open-source projects, services, relevant improvements to Java and the JVM, and more. The idea is to get some hands-on experience, learn about potential use cases and applications, and understand the trade-offs involved. If you think there's a specific subject I should take a look at, let me know in the comments below. Java 24 got released last week, and what a meaty release it is: more than twenty Java Enhancement Proposals (JEPs) have been shipped, including highlights such as compact object headers (JEP 450, I hope to spend some time diving into that one some time soon), a new class-file API (JEP 484), and more flexible constructor bodies (JEP 492, third preview). One other JEP which might fly a bit under the radar is JEP 483 ("Ahead-of-Time Class Loading & Linking"). It promises to reduce the start-up time of Java applications without requiring any modifications to the application itself, what's not to be liked about that? Let's take a closer look!

## Keycloak 26.1.0 released

DevFeed: [Keycloak 26.1.0 released](<https://devfeed.tech/articles/keycloak-26-1-0-released-31680.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2025/01/keycloak-2610-released>)

Author: Keycloak Team

Published: 2025-01-15T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [Database](<https://devfeed.tech/topics/database.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [version](<https://devfeed.tech/topics/version.md>)

Tags: [cloud](<https://devfeed.tech/tags/cloud.md>), [database](<https://devfeed.tech/tags/database.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [idm](<https://devfeed.tech/tags/idm.md>), [jdbc](<https://devfeed.tech/tags/jdbc.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [release](<https://devfeed.tech/tags/release.md>), [saml](<https://devfeed.tech/tags/saml.md>), [sso](<https://devfeed.tech/tags/sso.md>), [tracing](<https://devfeed.tech/tags/tracing.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Keycloak 26.1.0 changes the default cluster transport stack to database-based discovery, simplifying cloud deployments by removing the need for multicast and dynamic TCP ports. The release also enables virtual threads on OpenJDK 21, makes OpenTelemetry tracing fully supported and enabled by default, and includes configuration and credential-issuance improvements.

### Source excerpt

To download the release go to Keycloak downloads. Highlights Transport stack jdbc-ping as new default Keycloak now uses by default its database to discover other nodes of the same cluster, which removes the need of additional network related configurations especially for cloud providers. It is also a default that will work out-of-the-box in cloud environments. Previous versions of Keycloak used as a default UDP multicast to discover other nodes to form a cluster and to synchronize the replicated caches of Keycloak. This required multicast to be available and to be configured correctly, which is usually not the case in cloud environments. Starting with this version, the default changes to the jdbc-ping configuration which uses Keycloak's database to discover other nodes. As this removes the need for multicast network capabilities and UDP and no longer using dynamic ports for the TCP-based failure detection, this is a simplification and a drop-in replacement for environments which used the previous default. To enable the previous behavior, choose the transport stack udp which is now deprecated. The Keycloak Operator will continue to configure kubernetes as a transport stack. See the Configuring distributed caches guide for more information. Virtual Threads enabled for Infinispan and JGroups thread pools Starting from this release, Keycloak automatically enables the virtual thread pool support in both the embedded Infinispan and JGroups when running on OpenJDK 21. This removes the need to configure the JGroups thread pool, the need to align the JGroups thread pool with the HTTP worker thread pool, and reduces the overall memory footprint. OpenTelemetry Tracing supported In the previous release, the OpenTelemetry Tracing feature was preview and is fully supported now. It means the opentelemetry feature is enabled by default. There were made multiple improvements to the tracing capabilities in Keycloak such as: Configuration via Keycloak CR in Keycloak Operator Custom sp

## Building OpenJDK From Source On macOS

DevFeed: [Building OpenJDK From Source On macOS](<https://devfeed.tech/articles/building-openjdk-from-source-on-macos-18803.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/building-openjdk-from-source-on-macos/>)

Published: 2024-11-16T14:25:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [openjdk](<https://devfeed.tech/topics/openjdk.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>)

Tags: [compiler](<https://devfeed.tech/tags/compiler.md>), [installation](<https://devfeed.tech/tags/installation.md>), [jdk](<https://devfeed.tech/tags/jdk.md>), [macos](<https://devfeed.tech/tags/macos.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [release](<https://devfeed.tech/tags/release.md>), [xcode](<https://devfeed.tech/tags/xcode.md>)

### AI overview

A practical guide to building JDK 24 from OpenJDK source on macOS 14.7.1. It covers the required boot JDK, Xcode, Autoconf, source checkout, configuration, and build steps, and notes a clang issue in Xcode 16.1 with alternatives.

### Source excerpt

Every now and then, it can come in very handy to build OpenJDK from source yourself, for instance if you want to explore a feature which is under development on a branch for which no builds are published. For some reason I always thought that building OpenJDK is a very complex processing, requiring the installation of arcane tool chains etc. But as it turns out, this actually not true: the project does a great job of documenting what's needed and only a few steps are necessary to build your very own JDK.

## Chainguard's OpenJDK Java images are now JCK conformant

DevFeed: [Chainguard's OpenJDK Java images are now JCK conformant](<https://devfeed.tech/articles/chainguard-s-openjdk-java-images-are-now-jck-conformant-12991.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/chainguards-openjdk-java-images-are-now-jck-conformant>)

Published: 2024-06-25T00:00:00Z

Content type: release

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [openjdk](<https://devfeed.tech/topics/openjdk.md>), [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Java](<https://devfeed.tech/topics/java.md>), [Security](<https://devfeed.tech/topics/security.md>), [interoperability](<https://devfeed.tech/topics/interoperability.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [compatibility](<https://devfeed.tech/tags/compatibility.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [interoperability](<https://devfeed.tech/tags/interoperability.md>), [java](<https://devfeed.tech/tags/java.md>), [jck](<https://devfeed.tech/tags/jck.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [security](<https://devfeed.tech/tags/security.md>), [testing](<https://devfeed.tech/tags/testing.md>), [validation](<https://devfeed.tech/tags/validation.md>)

### AI overview

Chainguard announces that its OpenJDK Java 21.0.3 and Java 22.0.1 JDK and JRE builds passed all tests in Oracle's Java Compatibility Kit. The conformance also applies to specified Chainguard Images containing openjdk-21 and openjdk-22 packages.

### Source excerpt

Ensure Java compatibility & security with Chainguard's JCK-conformant OpenJDK images. Streamline development and deployment with trusted, verified Java runtimes.

## Keycloak 25.0.0 released

DevFeed: [Keycloak 25.0.0 released](<https://devfeed.tech/articles/keycloak-25-0-0-released-31644.md>)

Original publisher: [Read original article](<https://www.keycloak.org/2024/06/keycloak-2500-released>)

Author: Keycloak Team

Published: 2024-06-10T00:00:00Z

Content type: release

Language: en

Sources: [Keycloak Blog](<https://devfeed.tech/sources/keycloak-blog.md>)

Topics: [Keycloak](<https://devfeed.tech/topics/keycloak.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [version](<https://devfeed.tech/topics/version.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [Java](<https://devfeed.tech/topics/java.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Primer](<https://devfeed.tech/topics/primer.md>), [saml](<https://devfeed.tech/topics/saml.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [deprecated](<https://devfeed.tech/tags/deprecated.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [idm](<https://devfeed.tech/tags/idm.md>), [kerberos](<https://devfeed.tech/tags/kerberos.md>), [keycloak](<https://devfeed.tech/tags/keycloak.md>), [keycloak-release](<https://devfeed.tech/tags/keycloak-release.md>), [ldap](<https://devfeed.tech/tags/ldap.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [openid-connect](<https://devfeed.tech/tags/openid-connect.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [saml](<https://devfeed.tech/tags/saml.md>), [security](<https://devfeed.tech/tags/security.md>), [sso](<https://devfeed.tech/tags/sso.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Keycloak 25.0.0 removes the Account Console v2 theme and most Java adapters, adds OpenJDK 21 support while deprecating OpenJDK 17, updates the consoles to PatternFly 5, and makes Argon2 the default password-hashing algorithm outside FIPS environments.

### Source excerpt

To download the release go to Keycloak downloads. Highlights Account Console v2 theme removed The Account Console v2 theme has been removed from Keycloak. This theme was deprecated in Keycloak 24 and replaced by the Account Console v3 theme. If you are still using this theme, you should migrate to the Account Console v3 theme. Java 21 support Keycloak now supports OpenJDK 21, as we want to stick to the latest LTS OpenJDK versions. Java 17 support is deprecated OpenJDK 17 support is deprecated in Keycloak, and will be removed in a following release in favor of OpenJDK 21. Most of Java adapters removed As stated in the release notes of previous Keycloak version, the most of Java adapters are now removed from the Keycloak codebase and downloads pages. For OAuth 2.0/OIDC, this includes removal of the Tomcat adapter, WildFly/EAP adapter, Servlet Filter adapter, KeycloakInstalled desktop adapter, the jaxrs-oauth-client adapter, JAAS login modules, Spring adapter and SpringBoot adapters. You can check our older post for the list of some alternatives. For SAML, this includes removal of the Tomcat adapter and Servlet filter adapter. SAML adapters are still supported with WildFly and JBoss EAP. The generic Authorization Client library is still supported, and we still plan to support it. It aims to be used in combination with any other OAuth 2.0 or OpenID Connect libraries. You can check the quickstarts for some examples where this authorization client library is used together with the 3rd party Java adapters like Elytron OIDC or SpringBoot. You can check the quickstarts also for the example of SAML adapter used with WildFly. Upgrade to PatternFly 5 In Keycloak 24, the Welcome page is updated to use PatternFly 5, the latest version of the design system that underpins the user interface of Keycloak. In this release, the Admin Console and Account Console are also updated to use PatternFly 5. If you want to extend and customize the Admin Console and Account Console, review the ch

## Ideal iOS KMP Setup - Kevin Galligan

DevFeed: [Ideal iOS KMP Setup - Kevin Galligan](<https://devfeed.tech/articles/ideal-ios-kmp-setup-kevin-galligan-38222.md>)

Original publisher: [Read original article](<https://touchlab.co/ideal-ios-kmp-setup>)

Published: 2024-05-18T00:00:00Z

Content type: tutorial

Language: en

Sources: [Touchlab | Enterprise Mobile Innovation & Development](<https://devfeed.tech/sources/touchlab-enterprise-mobile-innovation-development.md>)

Topics: [iOS development](<https://devfeed.tech/topics/ios-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Xcode](<https://devfeed.tech/topics/xcode.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [SDK](<https://devfeed.tech/topics/sdk.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Homebrew](<https://devfeed.tech/topics/homebrew.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [configuration](<https://devfeed.tech/tags/configuration.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [gradle](<https://devfeed.tech/tags/gradle.md>), [homebrew](<https://devfeed.tech/tags/homebrew.md>), [installation](<https://devfeed.tech/tags/installation.md>), [ios-development](<https://devfeed.tech/tags/ios-development.md>), [java](<https://devfeed.tech/tags/java.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

A practical guide to setting up an iOS development environment for Kotlin Multiplatform (KMP), covering JVM installation and management, Xcode version management, and Touchlab's Kotlin Xcode Plugin for Kotlin-aware debugging.

### Source excerpt

To maximize your iOS developer experience with KMP, you'll want to install the best tools available and configure them appropriately. There are many options available, but this is Touchlab's preferred iOS development setup.

## How to install Java on macOS

DevFeed: [How to install Java on macOS](<https://devfeed.tech/articles/how-to-install-java-on-macos-7977.md>)

Original publisher: [Read original article](<https://snyk.io/blog/install-java-on-macos/>)

Author: Liran Tal

Published: 2024-04-17T05:00:00Z

Content type: tutorial

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [macOS](<https://devfeed.tech/topics/macos.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [GNU General Public License](<https://devfeed.tech/topics/gpl.md>)

Tags: [acquisition](<https://devfeed.tech/tags/acquisition.md>), [ai](<https://devfeed.tech/tags/ai.md>), [application-security](<https://devfeed.tech/tags/application-security.md>), [applications](<https://devfeed.tech/tags/applications.md>), [awareness](<https://devfeed.tech/tags/awareness.md>), [blog](<https://devfeed.tech/tags/blog.md>), [container-security](<https://devfeed.tech/tags/container-security.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [devrel](<https://devfeed.tech/tags/devrel.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [ibm](<https://devfeed.tech/tags/ibm.md>), [install](<https://devfeed.tech/tags/install.md>), [java](<https://devfeed.tech/tags/java.md>), [macos](<https://devfeed.tech/tags/macos.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [open-source-security](<https://devfeed.tech/tags/open-source-security.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [oracle](<https://devfeed.tech/tags/oracle.md>), [red-hat](<https://devfeed.tech/tags/red-hat.md>), [snyk-container](<https://devfeed.tech/tags/snyk-container.md>), [snyk-open-source](<https://devfeed.tech/tags/snyk-open-source.md>)

### AI overview

This tutorial explains Java and why it is useful on macOS, then introduces OpenJDK and contrasts it with Oracle's JDK, including differences in licensing and production use.

### Source excerpt

In the following post, we will guide you through installing Java on macOS, ensuring you're ready to start developing applications in no time.

## How old are Official Docker images? 2024 Edition

DevFeed: [How old are Official Docker images? 2024 Edition](<https://devfeed.tech/articles/how-old-are-official-docker-images-2024-edition-27702.md>)

Original publisher: [Read original article](<https://gagor.pro/2024/03/how-old-are-official-docker-images-2024-edition/>)

Author: Tom

Published: 2024-03-24T00:00:00Z

Content type: article

Language: en

Sources: [Tomasz Gągor](<https://devfeed.tech/sources/tomasz-gagor.md>)

Topics: [Docker](<https://devfeed.tech/topics/docker.md>), [docker images](<https://devfeed.tech/topics/docker-images.md>), [Docker Hub](<https://devfeed.tech/topics/docker-hub.md>), [centos](<https://devfeed.tech/topics/centos.md>), [Debian](<https://devfeed.tech/topics/debian.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Bash](<https://devfeed.tech/topics/bash.md>), [Script](<https://devfeed.tech/topics/script.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>)

Tags: [bash](<https://devfeed.tech/tags/bash.md>), [centos](<https://devfeed.tech/tags/centos.md>), [centos-docker-image](<https://devfeed.tech/tags/centos-docker-image.md>), [debian](<https://devfeed.tech/tags/debian.md>), [debian-docker-image](<https://devfeed.tech/tags/debian-docker-image.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [docker](<https://devfeed.tech/tags/docker.md>), [docker-hub](<https://devfeed.tech/tags/docker-hub.md>), [docker-image-age](<https://devfeed.tech/tags/docker-image-age.md>), [docker-image-updates](<https://devfeed.tech/tags/docker-image-updates.md>), [docker-images](<https://devfeed.tech/tags/docker-images.md>), [dockerfiles](<https://devfeed.tech/tags/dockerfiles.md>), [eclipse](<https://devfeed.tech/tags/eclipse.md>), [end-of-life](<https://devfeed.tech/tags/end-of-life.md>), [images](<https://devfeed.tech/tags/images.md>), [official-docker-images](<https://devfeed.tech/tags/official-docker-images.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [script](<https://devfeed.tech/tags/script.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [ubuntu-docker-image](<https://devfeed.tech/tags/ubuntu-docker-image.md>)

### AI overview

An analysis of the age and update status of official Docker images in 2024. It reports that modern OS images are generally reasonably current, while CentOS and OpenJDK images have reached important lifecycle or maintenance milestones.

### Source excerpt

Discover the current age and update status of various official Docker images, including CentOS, Ubuntu, and Debian, in the 2024 edition of this analysis.

## The One Billion Row Challenge

DevFeed: [The One Billion Row Challenge](<https://devfeed.tech/articles/the-one-billion-row-challenge-18855.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/one-billion-row-challenge/>)

Published: 2023-12-31T23:00:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [github](<https://devfeed.tech/tags/github.md>), [go](<https://devfeed.tech/tags/go.md>), [java](<https://devfeed.tech/tags/java.md>), [measurement](<https://devfeed.tech/tags/measurement.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [rust](<https://devfeed.tech/tags/rust.md>)

### AI overview

The One Billion Row Challenge asks participants to write the fastest Java program that reads one billion temperature measurements and calculates the minimum, mean, and maximum for each weather station. The challenge runs from January 1 through January 31, with submissions evaluated under specified hardware and dependency rules.

### Source excerpt

Update Jan 4: Wow, this thing really took off! 1BRC is discussed at a couple of places on the internet, including Hacker News, lobste.rs, and Reddit. For folks to show-case non-Java solutions, there is a "Show & Tell" now, check that one out for 1BRC implementations in Rust, Go, C++, and others. Some interesting related write-ups include 1BRC in SQL with DuckDB by Robin Moffatt and 1 billion rows challenge in PostgreSQL and ClickHouse by Francesco Tisiot. Thanks a lot for all the submissions, this is going way beyond what I'd have expected! I am behind a bit with evalutions due to the sheer amount of entries, I will work through them bit by bit. I have also made a few clarifications to the rules of the challenge; please make sure to read them before submitting any entries. Let's kick off 2024 true coder style--I'm excited to announce the One Billion Row Challenge (1BRC), running from Jan 1 until Jan 31. Your mission, should you decide to accept it, is deceptively simple: write a Java program for retrieving temperature measurement values from a text file and calculating the min, mean, and max temperature per weather station. There's just one caveat: the file has 1,000,000,000 rows!

## Introducing Chainguard Images for Node.js LTS 20, Python 3.12 and OpenJDK/JRE 21

DevFeed: [Introducing Chainguard Images for Node.js LTS 20, Python 3.12 and OpenJDK/JRE 21](<https://devfeed.tech/articles/introducing-chainguard-images-for-node-js-lts-20-python-3-12-and-openjdk-jre-21-13111.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/introducing-chainguard-images-for-node-js-lts-20-python-3-12-and-openjdk-jre-21>)

Published: 2023-10-11T00:00:00Z

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [chainguard images](<https://devfeed.tech/topics/chainguard-images.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [openjdk](<https://devfeed.tech/topics/openjdk.md>), [Python](<https://devfeed.tech/topics/python.md>), [Java](<https://devfeed.tech/topics/java.md>), [Security](<https://devfeed.tech/topics/security.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [chainguard](<https://devfeed.tech/tags/chainguard.md>), [chainguard-images](<https://devfeed.tech/tags/chainguard-images.md>), [java](<https://devfeed.tech/tags/java.md>), [lts](<https://devfeed.tech/tags/lts.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [openjdk](<https://devfeed.tech/tags/openjdk.md>), [python](<https://devfeed.tech/tags/python.md>), [release](<https://devfeed.tech/tags/release.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sboms](<https://devfeed.tech/tags/sboms.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Chainguard introduces updated Chainguard Images for Node.js 20, Python 3.12, and OpenJDK/JRE 21. The images include minimal CVEs, SBOMs, signatures, and a hardened Wolfi-based architecture, with changes to version and LTS tags scheduled for October 2023.

### Source excerpt

Get the latest versions for Java 21 (OpenJDK and JRE), Python 3.12, and Node.js 20 complete with minimal CVEs, SBOMs, signatures, and hardened architecture.

[Next page](<https://devfeed.tech/tags/openjdk.md?cursor=WyIyMDIzLTEwLTExVDAwOjAwOjAwKzAwOjAwIiwgImI1NDUzMGNlLTFjNTMtNDJmYS04MTc2LWY1NjZiYmJkNDY2ZiJd>)