RFR: 8359732: Make standard i/o encoding related system properties `StaticProperty`
Alan Bateman
alanb at openjdk.org
Wed Jun 18 07:55:28 UTC 2025
On Tue, 17 Jun 2025 20:16:05 GMT, Naoto Sato <naoto at openjdk.org> wrote:
> Refactored the internal handling of `stdin/out/err.encoding` to allow setting them only via command-line options by converting them into `StaticProperty`. This change prevents unexpected behavior caused by applications modifying these properties at runtime using `System.setProperty()`.
src/java.base/share/classes/module-info.java line 287:
> 285: jdk.jpackage,
> 286: jdk.jshell,
> 287: jdk.net;
At some point we will need to re-visit all these qualified exports so that java.base exports as few of these internal packages as possible.
src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/CLHSDB.java line 111:
> 109:
> 110:
> 111: Charset charset = Charset.forName(StaticProperty.stdinEncoding(), Charset.defaultCharset());
This is the jhsdb tool, just wondering why it needs to be changed.
src/jdk.jdi/share/classes/com/sun/tools/example/debug/tty/TTY.java line 802:
> 800: }
> 801: try {
> 802: Charset charset = Charset.forName(StaticProperty.stdinEncoding(), Charset.defaultCharset());
This is the example jdb debugger, I assume okay to let it read the stdin.encoding property.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/25860#discussion_r2153907749
PR Review Comment: https://git.openjdk.org/jdk/pull/25860#discussion_r2153910478
PR Review Comment: https://git.openjdk.org/jdk/pull/25860#discussion_r2153913162
More information about the core-libs-dev
mailing list