On Mon, 25 Sep 2023 09:40:00 GMT, Andrey Turbanov <aturba...@openjdk.org> wrote:

>> src/java.base/share/classes/sun/util/PropertyResourceBundleCharset.java line 
>> 71:
>> 
>>> 69:     private final class PropertiesFileDecoder extends CharsetDecoder {
>>> 70: 
>>> 71:         private final CharsetDecoder cdUTF_8 = 
>>> UTF_8.INSTANCE.newDecoder()
>> 
>> Can be static as well.
>
> I'm not sure. Why do you think so? CharsetDecoder is not thread-safe.

UTF8 decoder does not perform any internal state mutation during decoding; in 
addition, if this field is static final, the decoder's error actions are 
published when the class is initialized, while publishing in a final field does 
not guarantee the internal state of the charset is visible to other threads.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15736#discussion_r1335653054

Reply via email to