gpt4 book ai didi

java - 使用太多的听众是否有潜在的减速?

转载 作者:搜寻专家 更新时间:2023-11-01 03:20:45 24 4
gpt4 key购买 nike

在我正在编写的程序中,我将至少有 64 个 JButton。是写一个 ActionListener 还是有 64 个,每个一个?我不认为我会为每个 JButton 路由使用一个监听器,但这确实让我想知道一些事情。是否有太多听众实际上会影响性能的点?如果有这样的事情,需要多少?

最佳答案

每个 JButton 都将保存一个列表(或数组,或集合,或以其他方式实现)对其监听器的引用,同时不知道其他按钮的监听器。当事件发生时,按钮会调用它的监听器。因此,为其他按钮设置许多听众不会减慢听众的调用速度。所以这里没有减速。

我可以预见的唯一减速原因是缓存未命中。拥有许多具有不同代码的监听器将意味着更多的缓存未命中。

但是让一个监听器包含大量复杂的代码来处理所有情况可能会更慢。您仍然有很多字节码,并且您可能有比多个监听器情况下更多的分支。

结论:让你的听众cohesive .使用不同的监听器来处理不同的操作,并使用相同的监听器来处理执行类似操作的按钮。它会给你更好的代码和速度。

关于java - 使用太多的听众是否有潜在的减速?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31208291/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com