gpt4 book ai didi

java - 关于java垃圾回收的问题

转载 作者:行者123 更新时间:2023-12-03 01:59:18 25 4
gpt4 key购买 nike

我有这个类(class),我正在测试不同数据分布的插入。我在我的代码中这样做:

...

AVLTree tree = new AVLTree();

//insert the data from the first distribution

//get results

...

tree = new AVLTree();

//inser the data from the next distribution

//get results

...

我正在为 3 个发行版执行此操作。每一项均应测试 14 次,并去除 2 个最低/最高值以计算平均值。此操作应执行 2000 次,每次针对 1000 个元素。换句话说,它是 1000、2000、3000、...、2000000。

问题是,我最多只能达到 100000。当我尝试 200000 时,我用完了堆空间。我在命令行中使用-Xmx将可用堆空间增加到1024m,但它甚至没有完成200000的测试。我又尝试了2048m,它不起作用。

我的想法是,一旦我执行tree = new AVL Tree(),垃圾收集器就不会删除旧树。但为什么?我认为老树中的元素将不再可访问,并且它们的内存将被清理。

最佳答案

垃圾收集器在清理旧树对象时应该没有问题,因此我只能假设您正在执行的一些其他分配没有被清理。

关于java - 关于java垃圾回收的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/758811/

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