RFR: 8323965: modify fix for 8317771 to remove reflection instantiation of the inner class

Artem Semenov asemenov at openjdk.org
Tue Apr 23 07:13:36 UTC 2024


On Tue, 23 Apr 2024 02:25:57 GMT, Alexander Zuev <kizune at openjdk.org> wrote:

>> I replaced reflection with using an accessor
>> @azuev-java please review
>
> The problem with this fix is that on the test example attached to the bug any attempt of navigation trough the items of JTree whole voice over is enabled causes java to stop responding. I see in the logs that it does call this exact place thousands of time constantly. So it seems like it makes the problem with java stalling on large size trees to re-appear.

@azuev-java 
I'm restoring the context: There was a cycle that recursively collected children, and on new MacOS it worked for a very long time.. JDK-8317771 .
I added a solution for JTree, which works much faster, but there was a reflection, you asked to remove it. Unlike the old algorithm, it now works in seconds, not minutes...
The essence of JDK-8329667 is that the custom tree did not work due to reflection.
I removed the reflection, I did not add any additional acceleration.
As for speeding up the tree, I suggest adding caching, similar to how it is implemented in tables.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/18867#issuecomment-2071587990


More information about the client-libs-dev mailing list