From f3de3d7a2b5960ffd3e4e1b3ccc21c0f14abe8ba Mon Sep 17 00:00:00 2001 From: Sanjana Mahapatra Date: Wed, 29 Oct 2025 23:48:27 +0530 Subject: [PATCH 1/3] =?UTF-8?q?JEP=20365=20=E2=80=93=20ZGC=20on=20Windows,?= =?UTF-8?q?=20added=20the=20linking=20classes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/javademos/init/Java14DemoLoader.java | 2 ++ .../jep365/ZGarbageCollectorOnWindows.java | 23 +++++++++++++++++++ src/main/resources/JDK14Info.json | 8 +++++++ src/main/resources/JDK15Info.json | 4 ++-- 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/main/java/org/javademos/java14/jep365/ZGarbageCollectorOnWindows.java diff --git a/src/main/java/org/javademos/init/Java14DemoLoader.java b/src/main/java/org/javademos/init/Java14DemoLoader.java index 2946345..f64cd5a 100644 --- a/src/main/java/org/javademos/init/Java14DemoLoader.java +++ b/src/main/java/org/javademos/init/Java14DemoLoader.java @@ -8,6 +8,7 @@ import org.javademos.java14.jep358.NullPointerDemo; import org.javademos.java14.jep359.RecordsPreviewDemo; import org.javademos.java14.jep361.SwitchExpressionsDemo; +import org.javademos.java14.jep365.ZGarbageCollectorOnWindows; import org.javademos.java14.jep368.TextBlockSecondPreviewDemo; import org.javademos.java14.jep370.ForeignMemoryAccessDemo; @@ -22,6 +23,7 @@ public void loadDemos(Map demos) { demos.put(358, new NullPointerDemo()); // JEP 358 demos.put(359, new RecordsPreviewDemo()); // JEP 359 demos.put(361, new SwitchExpressionsDemo()); // JEP 361 + demos.put(365, new ZGarbageCollectorOnWindows()); // JEP 365 demos.put(368, new TextBlockSecondPreviewDemo()); // JEP 368 demos.put(370, new ForeignMemoryAccessDemo()); // JEP 370 } diff --git a/src/main/java/org/javademos/java14/jep365/ZGarbageCollectorOnWindows.java b/src/main/java/org/javademos/java14/jep365/ZGarbageCollectorOnWindows.java new file mode 100644 index 0000000..de17028 --- /dev/null +++ b/src/main/java/org/javademos/java14/jep365/ZGarbageCollectorOnWindows.java @@ -0,0 +1,23 @@ +package org.javademos.java14.jep365; + +import org.javademos.commons.IDemo; + +/// Demo for JDK 14 feature JEP 365 - ZGC on Windows (Experimental). +/// +/// Depends on: +/// - JDK 11: [JEP 333 - ZGC: A Scalable Low-Latency Garbage Collector (Experimental)](https://openjdk.org/jeps/333) +/// +/// Relates to: +/// - JDK 15: [JEP 377 - ZGC: A Scalable Low-Latency Garbage Collector (Production)](https://openjdk.org/jeps/377) +/// +/// Port the ZGC garbage collector to Windows +/// @see org.javademos.java15.jep377.ZGarbageCollectorDemo +/// +/// @author SanjanaMahapatra + +public class ZGarbageCollectorOnWindows implements IDemo { + @Override + public void demo() { + info(365); + } +} diff --git a/src/main/resources/JDK14Info.json b/src/main/resources/JDK14Info.json index c4c3584..79f5e59 100644 --- a/src/main/resources/JDK14Info.json +++ b/src/main/resources/JDK14Info.json @@ -31,6 +31,14 @@ "link": false, "code": true }, + { + "jep": 365, + "jdk": 14, + "name": "JEP 365 - ZGC on Windows (Experimental)", + "dscr": "Port the ZGC garbage collector to Windows. Up-to-date demo moved to `org.javademos.java15.jep377.ZGarbageCollectorDemo` (JEP 377)", + "link": true, + "code": false + }, { "jep": 368, "jdk": 14, diff --git a/src/main/resources/JDK15Info.json b/src/main/resources/JDK15Info.json index 225d278..8bd5c90 100644 --- a/src/main/resources/JDK15Info.json +++ b/src/main/resources/JDK15Info.json @@ -48,10 +48,10 @@ "code": false }, { - "number": 377, + "jep": 377, "jdk": 15, "name": "ZGC: A Scalable Low-Latency Garbage Collector", - "description": "Production-ready low-latency garbage collector maintaining sub-10ms pause times for large heaps.", + "dscr": "Production-ready low-latency garbage collector maintaining sub-10ms pause times for large heaps.", "link": false, "code": false }, From 7861a5e5754afd2ff0f3f324288af387c9682114 Mon Sep 17 00:00:00 2001 From: Sanjana Mahapatra Date: Wed, 29 Oct 2025 23:53:44 +0530 Subject: [PATCH 2/3] Updated the JDK15Info.json file for the modified description to JEP 377 --- src/main/resources/JDK15Info.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/resources/JDK15Info.json b/src/main/resources/JDK15Info.json index 8bd5c90..2ed71fd 100644 --- a/src/main/resources/JDK15Info.json +++ b/src/main/resources/JDK15Info.json @@ -50,7 +50,7 @@ { "jep": 377, "jdk": 15, - "name": "ZGC: A Scalable Low-Latency Garbage Collector", + "name": "JEP 377 - ZGC: A Scalable Low-Latency Garbage Collector", "dscr": "Production-ready low-latency garbage collector maintaining sub-10ms pause times for large heaps.", "link": false, "code": false From d3ab60be6e951997ef82c9599ae3b946cbb009db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alois=20Se=C4=8Dk=C3=A1r?= Date: Wed, 29 Oct 2025 20:04:33 +0100 Subject: [PATCH 3/3] fix: syntax error sorry for that, my bad --- src/main/java/org/javademos/init/Java14DemoLoader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/javademos/init/Java14DemoLoader.java b/src/main/java/org/javademos/init/Java14DemoLoader.java index 0bf2150..514ad8c 100644 --- a/src/main/java/org/javademos/init/Java14DemoLoader.java +++ b/src/main/java/org/javademos/init/Java14DemoLoader.java @@ -24,7 +24,7 @@ public void loadDemos(Map demos) { demos.put(358, new NullPointerDemo()); demos.put(359, new RecordsPreviewDemo()); demos.put(361, new SwitchExpressionsDemo()); - demos.put(365, new ZGarbageCollectorOnWindows()) + demos.put(365, new ZGarbageCollectorOnWindows()); demos.put(368, new TextBlockSecondPreviewDemo()); demos.put(370, new ForeignMemoryAccessDemo()); }