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

如何销毁java中的对象?

裴俊豪
2023-03-14
问题内容

我在接受以下采访时遇到了这个问题:

如何在Java中销毁对象?

a. System.gc();  
b. Runtime.getRuntime.gc();  
c. object.delete();  
d. object.finalize();  
e. Java performs gc by itself, no need to do it manually.
  1. 答案应该是e?

  2. 如果e不在那里怎么办?然后 ?显然,c不是答案。a和b将为整个应用程序执行gc(问题需要一个对象)。我认为这是d,因为finalize()刚好在gc之前被调用(但是是否有必要在finalize gc之后被调用?)还是我错了?您必须在那里回答这个问题吗?


问题答案:

答案E是正确答案。如果E不存在,您将很快用尽内存(或)没有正确答案。

对象应不可访问,才有资格使用GC。JVM将进行多次扫描,并将对象从一代转移到另一代,以确定GC的资格,并在对象无法访问时释放内存。



 类似资料:
  • 问题内容: 我对垃圾收集器在Java中的工作方式有一个大致的了解,但是我销毁对象的原因不是因为我关心释放内存,而是因为功能。我可以用一个例子更好地解释: 假设我正在制作涉及金钱的游戏。当某人从地面上捡起一个物体时,我想调用该物体的方法,该方法涉及为该人的钱包添加一个值。 之后发现,我不希望别人能够把它捡起来。换句话说,我不希望自己或任何其他程序能够不经意间拨打电话: 因此,在Bob拿起钱后,它的价

  • 对象使用完之后需要对其进行清除。对象的清除是指释放对象占用的内存。在创建对象时,用户必须使用 new 操作符为对象分配内存。不过, 在清除对象时,由系统自动进行内存回收,不需要用户额外处理。这也是 Java 语言的一大特色,某种程度上方便了程序员对内存的管理。 Java 语言的内存自动回收称为 垃圾回收(Garbage Collection)机制,简称 GC。垃圾回收机制是指 JVM 用于释放那些

  • 问题内容: 我公司的员工需要通过我编写的程序来修改SQL Server数据库中的数据。该程序首先使用Windows身份验证,我要求DBA授予该特定用户对该数据库的写访问权限。 他们不愿意这样做,而是给了 我的 Windows用户帐户写权限。 因为我信任这个人,但不足以让他在打开会话的情况下工作90分钟,所以我只向程序添加一个登录提示,询问用户名和密码的组合,然后使用它登录SQL Server。我将

  • 本文向大家介绍Java中对象的销毁方法分析,包括了Java中对象的销毁方法分析的使用技巧和注意事项,需要的朋友参考一下 本文较为详细的分析了Java中对象的销毁方法。分享给大家供大家参考。具体分析如下: Java中的基本数据类型变量和对象的名称引用变量如定义在方法中,都为局部变量。但对象本身不一定是局部生命周期。如函数外存在其他对该对象的引用变量,则该对象的生命周期延伸至该其他引用变量所在的块。

  • 问题内容: 据我所知(很少),给出了两种方法: 然后: 其他更好的方法?我在这里劈头发吗? 问题答案: 您正在寻找。 但是要考虑到 您不能显式销毁对象。 它会保留在那里,但是如果您取消设置对象,并且脚本将PHP推入内存限制,则不需要的对象将被垃圾回收。我会选择(而不是将其设置为null),因为它似乎具有更好的性能(未经测试,但已记录在PHP官方手册的注释中)。 也就是说,请记住,PHP总是在页面被

  • 如果一个具有静态存储持续时间的对象的构造函数的完成或动态初始化在另一个对象的完成之前被排序,则第二个对象的析构函数的完成将在第一个对象的析构函数的启动之前被排序。[注:此定义允许并发销毁。-结束注] 第二个和第一个的完成析构函数可能在不同的线程中吗?