在类级别或witin mousemoved()中定义对象

hrysbysz  于 2021-07-03  发布在  Java
关注(0)|答案(1)|浏览(321)

下面是场景。
使用jtable
在mousemoved()事件中为整个表精心编写代码。
在mousemoved()中定义和示例化了二十多个对象
jtable可以有20多列和1000行。
由于jtable的大小,mousemoved()事件将被多次执行并创建大量对象。这很容易导致在执行mousemoved()事件时使用和丢弃成千上万的对象。
如果jtable被大量使用,这是否会导致与垃圾收集相关的潜在问题,或者可能出现内存增长?
哪个更好:
在mousemoved()事件中定义对象,并让垃圾收集在方法退出后清理对象?
在类级别定义对象,在mousemoved()事件中示例化它们,然后在退出之前设置为null。
一个选择比另一个好吗?

sbdsn5lh

sbdsn5lh1#

实际上,这取决于创建的对象。2打整数是好的,但2打图像将是一个真正的问题。
我会在jtable级别添加它们,并尝试以某种方式重用/缓存它们。e、 bigdecimal有一种常数零,一,一,以避免永久性地重新创造流行对象。你应该加上这样的东西。有些对象可以创建一次,然后从mouseevent重新初始化。

相关问题