首页 / JAVA / Java中的数组和垃圾回收
Java中的数组和垃圾回收
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java中的数组和垃圾回收,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含988字,纯文字阅读大概需要2分钟。
内容图文
![Java中的数组和垃圾回收](/upload/InfoBanner/zyjiaocheng/665/634d6c89458c4a99886191f5f1feb018.jpg)
假设我有一个Array a,其中数组的类型为T.将设置一个元素为null进行垃圾回收.
例如,如果我执行a [36] = null,还是需要更多操作,例如还要在该对象中设置T tonull类型的字段?
解决方法:
正如其他人所说,没有代码很难说.但是,这可能会有所帮助:
根据Josh Bloch的《 Effective Java 2nd Edition》第2章第6条,您需要将引用设置为null,以便在管理自己的内存时对其进行GC处理.他解释说,如果不为空引用,则它可能会成为过时的引用,并且可能导致OutOfMemoryError.
他给出的示例如下(我正在简化).考虑一个堆栈实现,您可以在其中推送和弹出对象.问题表现在弹出操作中:
public class Stack {
private Object[] elements;
private int size = 0;
public Object pop() {
if (size == 0)
throw new EmptyStackException();
Object result = elements[--size];
elements[size] = null; // Eliminate obsolete reference, or you'll have a "memory leak"
return result;
}
请注意,您正在使用size变量手动控制分配的大小,而GC无法知道分配了哪些元素以及哪些元素是可用的.
如果发现相关内容,请继续阅读其书中的该部分以获取更多信息.您的案例与我撰写的案例相似,但是如果没有代码,我们无法确定.
内容总结
以上是互联网集市为您收集整理的Java中的数组和垃圾回收全部内容,希望文章能够帮你解决Java中的数组和垃圾回收所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。