RFR: (jaxp) 8003261 : static field is public but not final

Joe Wang huizhe.wang at oracle.com
Wed Dec 19 04:13:25 UTC 2012



On 12/18/2012 7:08 PM, David Holmes wrote:
> On 19/12/2012 12:21 PM, Joe Wang wrote:
>> On 12/18/2012 3:43 PM, David Holmes wrote:
>>> On 19/12/2012 3:49 AM, Tom Hawtin wrote:
>>>> Not that it's particularly important, but it's /possible/ clients are
>>>> relying on the non-compile time constant nature of this field 
>>>> causing it
>>>> not to be inlined into client class files, rather than the ability to
>>>> switch the version string. So it may be a good idea to add the final,
>>>> but make it a non-compile time constant. We can also remove the
>>>> duplication.
>>>
>>> I think that is an excellent point Tom. We should avoid turning the
>>> static field into a compile-time constant.
>>>
>>> And get rid of the unnecessary fImmutableVersion which everyone keeps
>>> overlooking.
>>
>> With the following change, at least there's no duplicate literal version
>> strings anymore. Or did you mean we should get rid of
>> fImmutableVersionand have getVresion return a liberal string?
>
> I did mean to get rid of the fImmutableVersion field. But it's no big 
> deal.

Ok, thanks.

Joe

>
> David
>
>
>> Joe
>>
>>>
>>> David
>>>
>>>>
>>>> public static final String fVersion = getVersion();
>>>>
>>>> Tom
>>>>
>>>> On 18/12/2012 08:47, Joe Wang wrote:
>>>>> Hi,
>>>>>
>>>>> This is the 2nd of the three [findbug] issues. The field fVersion is
>>>>> simply made final.
>>>>>
>>>>> webrev:
>>>>> http://cr.openjdk.java.net/~joehw/jdk8/8003261/webrev/
>>>>>
>>>>> Test:
>>>>> No new test needed.
>>>>>
>>>>> Thanks,
>>>>> Joe
>>>>



More information about the core-libs-dev mailing list