commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sebb (JIRA)" <>
Subject [jira] [Created] (CRYPTO-31) Make fields final wherever possible
Date Tue, 26 Apr 2016 11:34:12 GMT
Sebb created CRYPTO-31:

             Summary: Make fields final wherever possible
                 Key: CRYPTO-31
             Project: Commons Crypto
          Issue Type: Improvement
            Reporter: Sebb
            Priority: Minor

Final fields are automatically thread safe if the object itself is not modified.
Whereas non-final fields are not necessarily thread-safe even if they are not mutated - this
is because of the Java memory model.

There are several non-final fields that are not mutated once created. They should be made
final to improve thread-safety. This is particularly important for static fields since they
are more likely to be used by multiple threads.

Note: such changes will not affect the public API if the fields are private or package-protected.

The fields include:

StreamInput.buf - since no point creating an instance if it is not going to be used for reading,
might as well create the buffer up front
StreamOutput.buf - as for StreamInput
StreamOutput.out - should also be private

static NativeCodeLoader.nativeCodeLoaded
static OSInfo.archMapping
static ReflectionUtils.classLoader

This message was sent by Atlassian JIRA

View raw message