The initialization of the system properties in System.initPhase1 is very inefficient due to the number of upcalls to Properties set/get/remove methods. In addition, it merges the properties from the VM which also invokes Properties methods.
[Potential improveoments to property upcalls will be addressed with issue 4947890. ]
Additionally, there are properties that are initialized to empty or default values in native. That causes extra processing of each property before the value is needed. The properties should be left uninitialized and defaults applied when they are first used.
For example, sun.cpu.isalist, sun.os.patch.level, user.timezone.
Also, there redundant values in java_props_md.c for:
sprops.display_language = sprops.language;
sprops.display_script = sprops.script;
sprops.display_country = sprops.country;
sprops.display_variant = sprops.variant;