● 请问,在java中会存在内存泄漏吗?请简单描述一下。

考察点:内存

参考回答:

Java中的确存在Java的内存泄漏, 并且事态可以变得相当严重

Java garbage collector自动释放哪些内存里面程序不在需要的对象, 以此避免大多数的其他程序上下文的内存泄漏. 但是Java应用程序依旧会有相当的内存泄漏. 查找原因会十分困难.
有两类主要的Java内存泄漏:
* 不再需要的对象引用
* 未释放的系统资源
2.2 非必要的对象引用
Java代码常常保留对于不再需要的对象引用, 并且这组织了内存的垃圾收集器的工作. Java对象通常被其他对象包含引用, 为此一个单一对象可以保持整个对象树在内存中, 于是导致了如下问题:
* 在向数组添加对象以后遗漏了对于他们的处理
* 直到你再次使用对象的时候都不释放引用. 比如一个菜单指令可以插件一个对象实例引用并且不释放便于以后再次调用的时候使用, 但是也许永远不会发生.
* 在其他引用依然需要旧有状态的时候贸然修改对象状态. 比如当你为了在一个文本文件里面保存一些属性而使用一个数组, 诸如”字符个数”等字段在不再需要的时候依然保留在内存当中.
* 允许一个长久执行的线程所引用的对象. 设置引用为NULL也无济于事, 在线程退出和空闲之前, 对象不会被收集释放
2.3 未释放的系统资源
Java方法可以定位Java实例意外的堆内存, 诸如针对视窗和位图的内存资源. Java常常通过JNI(Java Native Interface)调用C/C++子程序定位这些资源.

在java中会存在内存泄漏吗?相关推荐

  1. Java中如何防止内存泄漏的发生

    在Java开发中我们常常会遇到内存泄漏的情况发生.那么为什么会发生内存泄漏,以及怎样去防止! 内存泄漏的定义:对象已经没有被应用程序使用,但是垃圾回收器没办法移除它们,因为还在被引用着. 为什么会发生 ...

  2. Java中会存在内存泄漏吗,请简单描述。

    内存泄漏是指不再被使用的对象或者变量一直被占据在内存中. 理论上来说,Java是有GC垃圾回收机制的,也就是说,不再被使用的对象,会被GC自动回收掉,自动从内存中清除. 但是,即使这样,Java也还是 ...

  3. java中会存在内存泄漏吗,请简单描述

    理论上Java因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是Java被广泛使用于服务器端编程的一个重要原因):然而在实际开发中,可能会存在无用但可达的对象,这些对象不能被GC回收,因此也会导致 ...

  4. 一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer

    一位面试官询问我:Java中的JVM内存溢出和内存泄露是什么?我这么回答成功拿到了offer. 墨眉无锋墨家代码 2020-11-22 20:16:50 10525 收藏 56 分类专栏: Java ...

  5. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...

  6. JAVA中堆栈和内存分配原理

    JAVA中堆栈和内存分配原理 1.栈.堆 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在 ...

  7. 实例解析网络编程中的另类内存泄漏

    本文分享自华为云社区<[网络编程开发系列]一种网络编程中的另类内存泄漏>,作者:架构师李肯. 1 写在前面 最近在排查一个网络通讯的压测问题,最后发现跟"内存泄漏"扯上 ...

  8. java的栈区 堆区存放什么_简单整理java中的栈内存, 堆内存是什么?

    上一篇文章简单整理了栈(stack), 堆(heap), 队列(queue)的结构 这一篇继续整理java中的 占内存,堆内存. Java把内存划分成两种:一种是栈内存,一种是堆内存. 这里需要解释一 ...

  9. 微信小程序开发过程中出现的内存泄漏问题

    微信小程序开发过程中出现的内存泄漏问题 问题描述 微信小程序项目中,有两个页面多次来回切换,(我这个项目数因为 有 再来一次,和 回顾本次 的功能 所以要在答题页和分数页来回切换)就会报错 VM333 ...

最新文章

  1. net localgroup 命令详解
  2. 不是“老赖”是“真还”!罗永浩 6 亿债务还了 4 亿
  3. 工业组态领头羊--组态王开始涉足.net程序开发(与林伟先生一次近距离接触)...
  4. 搜索2.0:利用用户点击记录改善搜索结果
  5. stm32 Keil编译后查看代码/内存占用空间,Flash/RAM占用大小,Code-Data,RO-Data,RW-Data,ZI-Data是什么含义
  6. BOM之history
  7. 有这些信号,你可能需要跳槽了
  8. Oracle linux系统安装oracle11g
  9. C#实现封装SPC过程能力工具类ProcessCababilityHelper
  10. 离职原因该怎么说才比较好 ?
  11. 我看技术人的成长路径
  12. java怎么清空paint所画图案,[求助]怎么样消除之前画过的轨迹
  13. Matlab 预防性维修,MATLAB进行预测性维护(官网例程)-基于相似性进行剩余有效寿命预测 – MATLAB中文论坛...
  14. mock打桩不生效的问题
  15. 怎样在计算机里恢复云文档图标,电脑常识科普:Win10资源管理器中的WPS云文档图标怎么彻底删除...
  16. 软件性能测试重要性,软件性能测试的重要性及策略(2)
  17. Pytorch生成对抗网络(GAN)官方入门教程
  18. Android录音amr实时转成MP3格式
  19. 2021云南省卫生副高考试成绩查询,2021年云南卫生资格考试成绩查询
  20. 黄药师遥祭衡卿文!-悲哉千古!

热门文章

  1. 【学术相关】IEEE TBD, 这个Trans刚被SCI收录,预计首个IF4
  2. 【小白学PyTorch】8.实战之MNIST小试牛刀
  3. 【数学基础】正态分布为什么如此常见?
  4. pytorch基础知识整理(二)数据加载
  5. 搜索算法相似度问题之BM25
  6. 技术干货 | JavaScript 之事件循环(Event Loop)
  7. LeetCode_108.将有序数组转换为二叉搜索树
  8. 今年618我要Pick有很吓人技术GPU TURBO的手机,你呢?
  9. 几种常用的医院地图API接口地址—百度地图
  10. 数学之美笔记(十三)