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

Java内存泄漏-程序终止后清除了吗?

乐正迪
2023-03-14
问题内容

这似乎是一个是或否的问题,我希望可以在某个地方回答它,但我当然找不到。Java中的内存泄漏发生的频率不如使用C或C
++这样的语言开发时发生的频率高,但是它们可以发生。

除某些情况(如共享内存)外,大多数操作系统都会清除程序终止时分配的内存。当JVM退出时,这仍然适用吗?如果我无意间在Java中创建了内存泄漏,JVM,Linux或Windows
OS都可以解决吗?


问题答案:

是的,JVM终止后将释放所有内存。



 类似资料:
  • 本文向大家介绍Java 内存泄漏,包括了Java 内存泄漏的使用技巧和注意事项,需要的朋友参考一下 在Java中,垃圾回收(析构函数的工作)是使用垃圾回收自动完成的。但是,如果代码中有引用它们的对象怎么办?它无法取消分配,即无法清除其内存。如果这种情况一再发生,并且创建或引用的对象根本没有被使用,它们就会变得无用。这就是所谓的内存泄漏。 如果超过了内存限制,则程序将通过抛出错误(即“ OutOfM

  • 问题内容: 我正在设计一个Web应用程序,该应用程序旨在显示一堆使用AJAX定期更新的数据。一般的使用场景是用户将整天保持打开状态,然后不时浏览一下。 我遇到的问题是浏览器的内存占用量随时间缓慢增长。Firefox和IE 7(尽管不是Chrome)都在发生这种情况。几个小时后,它可能导致IE7占用约200MB的内存,而FF3导致占用约400MB的内存。 经过大量测试,我发现只有在响应AJAX调用时

  • 问题内容: 我发现使用是众所周知的与相关的内存问题。 使用中是否存在内存泄漏? 如果是,解决方法是什么? 以下链接显示了Java中子字符串的正确用法。 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622 另外一个博客谈论子字符串中可能的MLK。 http://nflath.com/2009/07/the-dangers-of- st

  • 我使用了Spark 2.1.1,并升级到了最新版本2.4.4。我从Spark UI观察到驱动程序内存在不断增加,在长时间运行之后,我出现了以下错误:java。lang.OutOfMemoryError:超出GC开销限制 在Spark 2.1.1中,驱动程序内存消耗(存储内存选项卡)极低,在运行ContextCleaner和BlockManager后,内存正在减少。 此外,我测试了Spark版本2.

  • 问题内容: 我只是为了好玩而创建了一个项目,该项目创建了大约5 GB的内存,并且没有删除它。只要应用程序正在运行,“内存泄漏”就在那里。我第二次关闭应用程序后,内存在2秒内恢复正常,就好像我的程序从未运行过一样。因此必须提出问题。 Windows 7完成处理后,是否会清理掉程序造成的内存泄漏? 所有Windows版本都这样做吗? Linux和Mac OS X环境会这样做吗? 问题答案: 当程序终止

  • 问题描述:我们在一个web应用程序(在CQ5上)中面临以下问题: 系统配置详细信息:系统内存: 7GB Xmx: 3.5 GB Xms: 1 GB MaxPermGen: 300MB最大观察线程数: 620(包括300个超文本传输协议请求服务线程)Xss:默认值 问题是cq5 java进程(运行servlet引擎)消耗的内存随着时间的推移而不断增加。一旦达到6到6.5GB以上(系统内存达到7GB)