asmhatre and Claude Sonnet 5.5
2e25042a68
Add pem-api module: PEMDecoder/PEMEncoder (JEP 538 preview on JDK 27, JEP 542 final in JDK 28) for JWT keys, TLS, encrypted keys and BouncyCastle migration
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01CifR2BE7PBvRy5hT8TS9oz
2026-10-26 01:50:05 +00:00
asmhatre
c3cc57f482
Add java21-features module: runnable demos and captured output for the ankurm.com java21-features article
2026-10-20 17:13:59 +00:00
asmhatre
5a076c826f
Add java17-features module: runnable demos and captured output for the ankurm.com java17-features article
2026-10-20 17:13:58 +00:00
asmhatre
8b9447a393
Add java11-features module: runnable demos and captured output for the ankurm.com java11-features article
2026-10-20 17:13:58 +00:00
asmhatre
77c782abbf
Add java8-features module: runnable demos and captured output for the ankurm.com java8-features article
2026-10-20 17:13:58 +00:00
asmhatre and Claude Sonnet 5.5
d565be93c6
Add jdk27-perf: the same Spring Boot service measured on JDK 25 and JDK 27
...
Live heap, throughput, p99 and startup across four configurations, including opt-in and opt-out of
compact object headers.
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01WzVQ6zFh9cuLPj9RSbRH8U
2026-10-12 17:30:55 +00:00
asmhatre and Claude Sonnet 5.5
fc05eed4b5
Add compact-strings module: Compact Strings (JEP 254) measured with JOL on JDK 25, with and without -XX:-CompactStrings, and compact object headers on 25 vs 27
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01KqJyCidz3ZgRyHABv2GVJh
2026-10-01 04:23:27 +00:00
asmhatre and Claude Sonnet 5.5
fadfd05670
Add http3 module: HTTP/3 in the Java HTTP Client (JEP 517), opt-in, discovery modes, fallback timings, proxy downgrade and a packet-loss comparison
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01KqJyCidz3ZgRyHABv2GVJh
2026-09-30 20:27:46 +00:00
Claude
c8ff3acf09
Add jdk28-preview module: JDK 28 early-access build, value classes, strict init flag, PEM, JSON incubator
...
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01Gth99spB1CzQmBFofXmU4Z
2026-09-28 08:48:04 +00:00
Claude
57a04dc393
Add migration-17-25 module: Java 17 class files run on 17 and 25, flags, removed APIs, jdeps and jdeprscan
...
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01Gth99spB1CzQmBFofXmU4Z
2026-09-28 08:42:19 +00:00
Claude
814c32b5ce
Add lazy-constants module: LazyConstant (JEP 531) against the holder idiom and double-checked locking
...
Basics, failure semantics on 26 vs 27, lazy collections, API across 25/26/27, preview-flag traps and a JMH read-path benchmark (jars fetched and sha1-checked, not committed).
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 12:27:27 +00:00
Claude
af44e59e7f
sealed: make the WalletNotHandled flat fee match the other examples
...
NetBanking flat fee is 15 everywhere; transcripts unchanged.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 12:15:14 +00:00
Claude
d2c1efc2c4
sealed: add release-level and Jackson 3.2.3 transcripts
...
09 shows which language level each sealed feature needs; 10 runs the Payment model through Jackson 3 (jars fetched and sha1-checked, not committed).
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 12:08:23 +00:00
Claude
ff6130bede
Add sealed module: modelling domains with sealed types and exhaustive switch
...
Payment model, permits and the three modifiers, default-branch trap, generic and recursive hierarchies, visitor comparison, run-time enforcement, modules. Transcripts from JDK 21, 25 and 27.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 12:03:59 +00:00
Claude
65a4bbbbe3
patterns: run Guards, NullCase and MatchException demos on 21 too; add switch-on-long check
...
Adds broken/SwitchOnLong.java and regenerates transcripts so every 'runs on 21, 25 and 27' claim has a transcript. Additive commit.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 11:54:48 +00:00
Claude
bc91b9c8d0
Add patterns module: pattern matching from JDK 21 to 27
...
Type, record and primitive patterns, guards, sealed exhaustiveness, MatchException via separate compilation, and eight captured transcripts.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 11:50:40 +00:00
Claude
96b25c8fc4
jep511: add the star-import clash demo, java.base export count and a java.time jshell check
...
TwoStarImports.java, the java.base export count in output/04, the extra LocalDate line in src/imports.jsh and regenerated transcripts. Additive commit.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 11:42:45 +00:00
Claude
385cc25233
Add jep511 module: module import declarations on JDK 25 and 27
...
Runnable sources, deliberate compile failures, three small modules and nine captured transcripts for import module (JEP 511).
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 10:57:57 +00:00
Claude
2ebea58d39
Add jep513 module: flexible constructor bodies on JDK 25 and 27
...
Runnable sources, broken examples and captured transcripts for the ankurm.com JEP 513 article, including the JDK 25 vs 27 compiler wording differences.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 10:42:36 +00:00
Claude
e0cb6e83e2
Add jep512 module: compact source files and instance main methods on JDK 25 and 27
...
Runnable sources, broken examples and captured transcripts for the ankurm.com JEP 512 article,
including the measured launch order and a private-constructor difference between 25 and 27.
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01TF9JWFvJSNm6HVzswzZU5a
2026-09-24 10:32:47 +00:00
Claude
6b5a918278
Add two standalone modules: Stream Gatherers (JEP 485) and Scoped Values vs ThreadLocal (JEP 506)
...
gatherers/: windowFixed, windowSliding, fold, scan, mapConcurrent, a custom
Gatherer (dedupeConsecutive, takeUntil), and a Collector-vs-Gatherer comparison.
Verified: windowSliding emits one short window on a too-short stream rather than
shrinking to empty like windowFixed; mapConcurrent waits for in-flight siblings
to finish (~901ms) rather than cancelling them when one mapper throws.
scoped-values/: ScopedValue API and rebinding, why plain threads (virtual or
platform) do not inherit a binding while a StructuredTaskScope subtask does,
and the memory cost vs InheritableThreadLocal measured two ways -- a noisy
heap-delta first pass, then a precise jcmd GC.class_histogram object census
(5 shared Carrier objects vs ~700,000 copied ThreadLocalMap/Entry objects for
100,000 threads).
Companion code for the ankurm.com posts "Java Stream Gatherers (JEP 485)" and
"Scoped Values vs ThreadLocal in Java 25: Migration Guide with Virtual Threads".
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01FtpJvZfg4nvLvtzgJTDWpB
2026-09-24 04:27:12 +00:00
asmhatre and Claude Sonnet 5
f59c1de96d
Java 27 and 26: runnable demos and captured output for every JEP, plus version lanes
...
Co-Authored-By: Claude Sonnet 5 <[email protected] >
Claude-Session: https://claude.ai/code/session_01B38FGKKam5SCGgwgduVAh3
2026-09-21 15:08:50 +00:00