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

Java String.substring方法潜在的内存泄漏?

孙恩
2023-03-14
问题内容

我正在遍历String类API,由于子字符串方法与原始String共享相同的字符数组,因此似乎存在潜在的内存泄漏。

如果原始字符串很大,则子字符串返回的小字符串可以防止原始字符串(由大数组备份)被Java垃圾回收。

任何想法或我读错了API。


问题答案:

还有 就是 对内存泄漏潜在的,如果你把一个相当大的字符串的一个子并不能复印(通常是通过String(String)构造函数)。

请注意,自Java 7u6以来,情况已发生变化。请参阅http://bugs.sun.com/view_bug.do?bug_id=4513622。

围绕String实现飞重模式的对象的原始假设不再视为有效。



 类似资料:
  • 问题内容: 导致Java内存泄漏的最简单方法是什么? 问题答案: 除非您执行以下操作,否则您实际上无法在Java中“泄漏内存”: 实习生字符串 生成类 jni调用的本机代码中的泄漏内存 在一些被遗忘或晦涩的地方保存对您不想要的事物的引用。 我认为您对最后一种情况感兴趣。常见方案是: 侦听器,尤其是内部类 缓存。 一个很好的例子是: 构建一个Swing gui,它可以启动数量不限的模态窗口; 让模态

  • 本文向大家介绍Erlang项目内存泄漏分析方法,包括了Erlang项目内存泄漏分析方法的使用技巧和注意事项,需要的朋友参考一下 随着项目越来越依赖Erlang,碰到的问题也随之增加。前段时间线上系统碰到内存高消耗问题,记录一下troubleshooting的分析过程。线上系统用的是Erlang R16B02版本。 问题描述 有几台线上系统,运行一段时间,内存飙升。系统模型很简单,有网络连接,poo

  • 本文向大家介绍PHPExcel内存泄漏问题解决方法,包括了PHPExcel内存泄漏问题解决方法的使用技巧和注意事项,需要的朋友参考一下 使用 PHPExcel 来生成 excel 文档是比较消耗内存的,有时候可能会需要通过一个循环来把大数据切分成若干个小的 excel 文档保存来避免内存耗尽。 然而 PHPExcel 存在 circular references 的情况(貌似在最新的 1.6.5

  • 问题内容: 据说 String类中的方法会导致内存泄漏。是真的吗 怎么样?有什么替代方法吗? 尤其是在寻找答案时, 还有哪些其他原因可以导致Java的内存泄漏呢?这将帮助我在编码时注意。 问题答案: 在过去的JDK版本中,该方法的实现将建立一个新对象,该对象保留对整个char数组的引用,以避免复制它。因此,您可能会无意中仅使用一个字符串来引用一个很大的字符数组。 现在,此方法已更改,并且此“泄漏”

  • 本文向大家介绍c语言内存泄漏严重的解决方法,包括了c语言内存泄漏严重的解决方法的使用技巧和注意事项,需要的朋友参考一下 摘要:通过介绍内存泄漏问题原理及检视方法,希望后续能够从编码检视环节就杜绝内存泄漏导致的网上问题发生。 1. 前言 最近部门不同产品接连出现内存泄漏导致的网上问题,具体表现为单板在现网运行数月以后,因为内存耗尽而导致单板复位现象。一方面,内存泄漏问题属于低级错误,此类问题遗漏到现

  • 问题内容: 我认为我的android应用正在泄漏内存。我不是绝对确定这是问题所在。 应用程序打开时经常崩溃,并且logcat尝试加载位图图像时会显示“内存不足”异常。 崩溃后,我重新打开了该应用程序,它运行正常。Logcat会显示许多“ gc”,并且JIT表会不时地向上调整大小,而不会向下调整,直到应用程序因内存不足错误而崩溃。 这听起来像是内存泄漏吗?如果是这样,我该如何定位和关闭泄漏点。 这是