Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Gth99spB1CzQmBFofXmU4Z
15 lines
906 B
Bash
Executable File
15 lines
906 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Which JVM options from Java 17-era startup scripts still work? Runs `java <flag> -version` on both JDKs; records exit code and first warning/error line.
|
|
J17=${JDK17:-/tmp/tools/j17}; J25=${JDK25:-/tmp/tools/jdk-25.0.4.1+1}
|
|
echo "# flag | JDK 17 | JDK 25 (exit code: first warning or error line)"
|
|
for f in -Djava.security.manager=allow -XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+AggressiveOpts -XX:MaxPermSize=128m -XX:+UseParallelOldGC -Xverify:none -XX:-UseCompressedClassPointers -XX:+ParallelRefProcEnabled -XX:+UseStringDeduplication; do
|
|
line="$f |"
|
|
for j in "$J17" "$J25"; do
|
|
all=$("$j/bin/java" $f -version 2>&1); rc=$?
|
|
msg=$(echo "$all" | grep -E 'Unrecognized|warning|Error' | head -1 | sed 's/^OpenJDK 64-Bit Server VM warning: //' | cut -c1-120)
|
|
[ -z "$msg" ] && msg="(no message)"
|
|
line="$line exit $rc: $msg |"
|
|
done
|
|
echo "${line% |}"
|
|
done
|