RFR: 8285521: Minor improvements in java.net.URI
Daniel Fuchs
dfuchs at openjdk.java.net
Tue Apr 26 13:11:55 UTC 2022
On Tue, 26 Apr 2022 12:39:50 GMT, Сергей Цыпанов <duke at openjdk.java.net> wrote:
>> src/java.base/share/classes/java/net/URI.java line 1921:
>>
>>> 1919: return sn - tn;
>>> 1920: int val = 0;
>>> 1921: int n = Math.min(sn, tn);
>>
>> Can we drop this change? I wouldn't like `java.net.URI` to gratuitously trigger the loading of the Math class.
>> For the rest of the proposed changes, I will need to study them carefully and that may take some time.
>> Thanks!
>
> @dfuch I've looked into class loading order and I see this:
>
> ...
> [0.179s][info][class,init] 38 Initializing 'java/util/ImmutableCollections$MapN'(no method) (0x000000080013d4b8)
> [0.180s][info][class,init] 39 Initializing 'java/lang/StringLatin1' (0x0000000800021cb8)
> [0.180s][info][class,init] 40 Initializing 'java/lang/Math' (0x0000000800022828)
> [0.180s][info][class,init] 41 Initializing 'java/lang/Number'(no method) (0x0000000800030080)
> [0.180s][info][class,init] 42 Initializing 'java/lang/Float' (0x000000080002fe10)
> ...
> [0.234s][info][class,init] 194 Initializing 'java/lang/module/ModuleDescriptor$Requires$Modifier' (0x00000008001def98)
> [0.234s][info][class,init] 195 Initializing 'java/lang/module/ModuleDescriptor$Provides'(no method) (0x00000008001dd800)
> [0.235s][info][class,init] 196 Initializing 'java/net/URI' (0x0000000800142ff0)
> [0.236s][info][class,init] 197 Initializing 'java/net/URI$1'(no method) (0x00000008001f4368)
> [0.236s][info][class,init] 198 Initializing 'jdk/internal/module/SystemModuleFinders$2'(no method) (0x00000008001d4790)
> [0.236s][info][class,init] 199 Initializing 'jdk/internal/module/SystemModuleFinders$3'(no method) (0x00000008001d50b0)
>
> I.e. `Math` is loaded far before `URI`. Am I missing something?
OK.
-------------
PR: https://git.openjdk.java.net/jdk/pull/8397
More information about the net-dev
mailing list