On 11/9/18 7:25 AM, Roger Riggs wrote:
Hi Mandy
On 11/08/2018 04:55 PM, Mandy Chung wrote:
On 11/8/18 7:41 AM, Roger Riggs wrote:
Webrev updated in place: (Only System.java is modified)
http://cr.openjdk.java.net/%7Erriggs/webrev-props-cleanup-8185496/index.html
Just notice this...
I wonder if System.setProperties(null) should call
VM.saveAndRemoveProperties(props) to be consistent. It's an existing
issue. You may consider refactoring and adding initSystemProperties
method that will be called from initPhase1 and setProperties.
The purpose of VM.savedProperties is to ensure that the initial
properties are not mutable.
The AndRemove is an adhoc way to hide some properties that don't need
to be seen by applications.
Allowing the former set to be changed by setProperties() would break
that intention.
I'm not aware of any problems with the current implementation of
(setProperties)
and so would leave it alone at least for now.
Further, System.setProperties() should be deprecated (probably for
removal) since it
gives the impression of being able to reset all the properties. But
many property values
are only used for initialization and are read or cached on first use
and not read again
because changing them has no effect or can cause unexpected behaviors.
I agree we should not do more on System.setProperties. Your patch is
good to go.
I also support to deprecate System::setProperties while we should
collect some data
and understand how it is used in existing libraries.
Mandy