当前位置: 首页 > 面试题库 >

在Java中删除未使用的变量的内存

曹浩波
2023-03-14
问题内容

我知道Java有其自己的垃圾收集器,但有时我想手动删除垃圾。有什么办法可以做这样的工作吗?考虑到我function声明了许多变量的很长或很长,这是在使用函数而不是在函数末尾自动收集后立即删除未使用的内存的好主意吗?如果手动删除垃圾,是否会影响应用程序的速度?感谢您的帮助!


问题答案:

在Java中没有直接和立即的释放内存的方法。您可以尝试使用众所周知的方法 说服 垃圾收集器带走一些对象:

Object obj = new Object();
// use obj
obj = null;
System.gc();

但是不能保证这实际上会立即释放内存。

尽管这适用于堆内存,但是只有在函数返回时才能释放堆栈分配的项目。



 类似资料:
  • 我们在整个测试套件中有200多个特性和2000多个场景。它工作得很好,但许多步骤定义没有使用,我们想删除它们。 目前,我们很难手动尝试删除步骤定义代码,看看这样做是否破坏了什么。是否有一个工具或实用程序可以识别Java-Cucumber代码库中的哪些步骤定义未被使用,以便将其删除?

  • 我有这样的回应,当谈到检查用户未经授权。 有没有可能从未经授权的响应中删除路径?因为它没有为用户提供有价值的信息 }

  • 我已经用python中的OpenCV进行了形状检测,螺栓和螺母。我拍了一张照片,做了二值化,然后检测边缘。现在,由于灰尘和污垢,白色区域总是颗粒状的。我的检测使用最大的区域作为零件,这非常有效。但我如何才能删除由灰尘造成的数千个对象?简言之:我想将数组中的形状清除为最大的形状,以便进一步处理。

  • 我有一个关于java如何处理未使用变量的问题。 假设我有以下代码: 那么我就不会在代码中使用notUsedVariable。该变量是否会被存储,或者java是否足够聪明,可以在编译时忽略该变量? 谢谢

  • 我使用的是来自java的ApachePDFBox,我有一个带有多个可选内容组的源PDF。我想做的是导出一个PDF版本,其中只包含标准内容和启用的可选内容组。为了我的目的,我保留原作的任何动态方面是很重要的。。。。因此,文本字段是静态文本字段,矢量图像是静态矢量图像,等等。之所以需要这样做,是因为我打算最终使用一个pdf表单编辑器程序,它不知道如何处理可选内容,并且会盲目地渲染所有内容,所以我想预处

  • 在camunda rest api中,有一种方法可以一次性删除所有流程实例变量。 如果我添加了一个变量id,我可以一个接一个地删除,但这不是我想要的。 谢谢