JDK-8074023: Clock.system(ZoneId) could be optimized to always return the same clock for a given zone
Peter Levart
peter.levart at gmail.com
Thu Apr 23 21:20:00 UTC 2015
On 04/23/2015 10:33 PM, Roger Riggs wrote:
> Hi Peter,
>
> The defaultTimeZone is cached in java.util.TimeZone the first time it
> is referenced
> and is not updated after that. See java.util.TimeZone.getDefaultRef().
>
> Regards, Roger
>
But any code (with enough privilege) can update it:
abstract public class TimeZone .... {
public static void setDefault(TimeZone zone)
{
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
sm.checkPermission(new PropertyPermission
("user.timezone", "write"));
}
defaultTimeZone = zone;
}
Peter
>
> On 4/23/2015 4:11 PM, Peter Levart wrote:
>>
>>
>> On 04/23/2015 09:53 PM, nadeesh tv wrote:
>>> Hi all,
>>>
>>> Please review this minor change which optimized
>>> Clock.systemDefaultZone() and Clock.system(ZoneId) to avoid
>>> creating new instance of Clock.SystemClock every time they are called.
>>>
>>> Bug ID : https://bugs.openjdk.java.net/browse/JDK-8074023
>>>
>>> Webrev : http://cr.openjdk.java.net/~rriggs/nadeesh-tv-8074023/
>>>
>>
>> Hi Nadeesh,
>>
>> What happens if ZondeId.systemDefault() changes
>> (TimeZone.setDefault()) *after* Clock class has already been
>> initialized?
>>
>> Regards, Peter
>>
>
More information about the core-libs-dev
mailing list