<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 5/22/2024 11:19 AM, Aman Sharma
wrote:<br>
</div>
<blockquote type="cite" cite="mid:eabfa5ae508e4257bd0c9bbef244637f@kth.se">
<style type="text/css" style="display:none;">P {margin-top:0;margin-bottom:0;}</style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Garamond,Georgia,serif;" dir="ltr">
<p>Hi,</p>
</div>
</blockquote>
<p>[snip]<br>
</p>
<p><br>
</p>
<blockquote type="cite" cite="mid:eabfa5ae508e4257bd0c9bbef244637f@kth.se">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Garamond,Georgia,serif;" dir="ltr"><font style="font-family: Garamond, Georgia, serif, serif, "EmojiFont";" size="3" face="Garamond,Georgia,serif" color="black"><font size="3" face="Garamond,Georgia,serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols" color="black">
</font></font>
<p><font style="font-family: Garamond, Georgia, serif, serif, "EmojiFont";" size="3" face="Garamond,Georgia,serif" color="black"><span style="font-size:12pt;" dir="ltr" id="m_-6689849625419728689divtagdefaultwrapper"><font size="3" face="Garamond,Georgia,serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols" color="black"><span style="font-size:12pt;" id="m_-6689849625419728689m_5381525267202685274m_1510169701429416940divtagdefaultwrapper">Notice
the difference in the order of fields and
`helpCommand` method is mapped to a different field
name in both classes.
<font style="font-family: Garamond, Georgia, serif, serif, "EmojiFont";" size="3" face="Garamond,Georgia,serif" color="black">
<span style="font-size:12pt;" dir="ltr" id="m_-6689849625419728689divtagdefaultwrapper"><font size="3" face="Garamond,Georgia,serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols" color="black"><span style="font-size:12pt;" id="m_-6689849625419728689m_5381525267202685274m_1510169701429416940divtagdefaultwrapper">This
happens because the method array returned by
`getMethods` <a href="https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/lang/Class.java#L2178" class="OWAAutoLink" moz-do-not-send="true">
is not sorted in any particular order</a>
when generating a proxy class.</span></font></span></font>
What dictates this order? And why is it not
deterministic?<br>
</span></font></span></font></p>
<p><font style="font-family: Garamond, Georgia, serif, serif, "EmojiFont";" size="3" face="Garamond,Georgia,serif" color="black"><span style="font-size:12pt;" dir="ltr" id="m_-6689849625419728689divtagdefaultwrapper"><font size="3" face="Garamond,Georgia,serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols" color="black"><span style="font-size:12pt;" id="m_-6689849625419728689m_5381525267202685274m_1510169701429416940divtagdefaultwrapper"><br>
</span></font></span></font></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, "EmojiFont", "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div id="m_4935352394101912768Signature">
<div name="divtagdefaultwrapper"><font size="2" color="#808080"><span style="font-family:Arial,"Helvetica Neue",helvetica,sans-serif; background-color:rgb(255,255,255)"><span id="divtagdefaultwrapper" style="font-size:12pt">
<div style="margin-top:0; margin-bottom:0"><span style="color:rgb(0,0,0); font-family:Garamond,Georgia,serif">Regards,</span></div>
<span style="font-family:Garamond,Georgia,serif"></span><span style="font-family:Garamond,Georgia,serif"></span><span style="color:rgb(0,0,0)"></span><span style="font-family:Garamond,Georgia,serif"></span><span style="font-family:Garamond,Georgia,serif"></span>
<div style="margin-top:0; margin-bottom:0"><span style="color:rgb(0,0,0); font-family:Garamond,Georgia,serif">Aman Sharma</span></div>
</span></span></font></div>
</div>
</div>
</div>
</div>
</blockquote>
<p><br>
</p>
<p>As a general comment, it is _not_ the goal of the API
specification to (over) specify exact behavior in cases like this.<br>
<br>
See as an example the discussion concerning behavioral
compatibility starting around slide 46 of<br>
<br>
"Contributing to OpenJDK: Participating in stewardship for the
long-term,"<br>
<a class="moz-txt-link-freetext" href="https://jcp.org/aboutJava/communityprocess/ec-public/materials/2023-06-13/Contributing_to_OpenJDK_2023_04_12.pdf">https://jcp.org/aboutJava/communityprocess/ec-public/materials/2023-06-13/Contributing_to_OpenJDK_2023_04_12.pdf</a></p>
<p><br>
</p>
<p>This approach has evolved over the years and releases.<br>
<br>
In this case semantically, the array returned by getMethod is a
set and the no particular meaning should be read into the order of
the elements.<br>
<br>
HTH,<br>
</p>
<p><br>
</p>
<p>-Joe<br>
</p>
</body>
</html>