相关疑难解决方法(0)

什么时候在Java中调用finalize()方法?

我需要知道何时finalize()调用该方法JVM.我创建了一个测试类,当finalize()通过覆盖它来调用方法时,该测试类会写入文件.它没有被执行.谁能告诉我它没有执行的原因?

java methods garbage-collection finalize call

320
推荐指数
8
解决办法
47万
查看次数

list.clear()vs list = new ArrayList <Integer>();

清除ArrayList的两个选项中哪一个更好更快,为什么?

list.clear() 
Run Code Online (Sandbox Code Playgroud)

要么

list = new ArrayList<Integer>();
Run Code Online (Sandbox Code Playgroud)

碰巧我必须在随机的时间清除我的ArrayList中的所有条目,我无法知道将来会有多少新条目,可能有0或1000.哪种方法更快更好,为什么?

java arraylist

120
推荐指数
5
解决办法
14万
查看次数

清空一个ArrayList或者只是创建一个新的ArrayList并将其旧的垃圾收集?

清空集合(在我的情况下是一个ArrayList)与创建一个新集合(并让垃圾收集器清除旧集合)的优点和缺点是什么.

具体来说,我有一个ArrayList<Rectangle>list.当某种情况发生时,我需要清空list并用其他内容重新填充.我是应该打电话list.clear()还是只是制作一个新的ArrayList<Rectangle>并让旧的垃圾收集?每种方法的优缺点是什么?

java collections garbage-collection arraylist

38
推荐指数
2
解决办法
3万
查看次数

更好地练习重新实例化List或调用clear()

使用Java(1.6)是否最好在List上调用clear()方法或者只是重新实例化引用?

我有一个ArrayList,其中填充了未知数量的对象并定期"刷新" - 处理对象并清除列表.刷新后,List再次填满.冲洗是在随机时间发生的.列表中的数字可能很小(对象的10个)或大的(数百万个对象).

那么"flush"调用clear()或new ArrayList()会更好吗?

是否值得担心这类问题,还是我应该让VM担心呢?我怎样才能看看Java的内存占用为我自己做这类事情?

任何帮助非常感谢.

java list clear

34
推荐指数
1
解决办法
8723
查看次数

ArrayList.clear()方法是否释放内存?

如果我没弄错的话,ArrayList包含存储位置的值,在这些位置中存储了你添加到List中的变量.所以,我的假设是,当你调用ArrayList.clear()方法时,它只释放上述值(内存位置)但不释放这些内存位置本身.我将尝试用一个例子来说明这一点:

假设您已拥有内存的当前状态:

[Memory location] (type of variable) *value*

[1000] (int) 32

[1002] (int) 12

[1003] (float) 2.5
Run Code Online (Sandbox Code Playgroud)

然后将它们添加到列表myList中,因此它包含指向1000,1002,1003内存位置的指针.

当您调用myList.clear()时,指针将无效,但内存位置1000,1002,1003仍将包含先前给定的值.我错了吗?

java memory android arraylist

23
推荐指数
3
解决办法
3万
查看次数

什么是更快的hashset清除或新的hashset?

假设我已经定义了一个HashSet<String> set.
在性能方面有什么好处:

set.clear;
Run Code Online (Sandbox Code Playgroud)

要么

set = new HashSet<String>();
Run Code Online (Sandbox Code Playgroud)

编辑:我检查这个的原因是,目前我的代码有第二个选项,但我想将其更改为第一个进行设置final.

java performance hashmap hashset

2
推荐指数
3
解决办法
1万
查看次数