java虚拟机内存回收 先回收堆,再回收栈????

Magical茏 Magical茏 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天看到一朋友空间更新的一说说.很奇怪,想看看大家的见解,

原文:

今天游戏线上报了一个bug,空指针异常,分析到最后只可能是传递的一个对象为空了,但是我很确定这个对象是已经赋值了,然后感觉特别莫名其妙,然后再分析,得出结论,造成这种现象的原因只可能是因为此对象驻存内存已久,栈里面虽然还保留有该对象的引用,但是堆里面真的内容却被java虚拟机给回收了,所以导致该对象为空了,哇,都分析到这里面来了,好高深,又相当于把java内存机制理了一遍……
...全文

相关推荐

Java中堆和栈的区别详解

主要介绍了Java中堆和栈的区别详解,所有的Java程序都运行在JVM虚拟机内部,我们这里介绍的自然是JVM(虚拟)内存中的堆和栈,需要的朋友可以参考下

weixin_38694800

JVM内存模型及垃圾回收

定义 通俗的来讲,jvm主要分为5个部分  程序计数器、虚拟机枝、本地方法枝、 Java 堆、 方法区, 引用大佬总结的概括程序计数器用于存放下一条运行的指令,虚拟机栈和本地方法栈用于存放函数调用堆栈信息, Java 堆用于存放 Java 程序运行时所需的对象等数据,方法区用于存放程序的类元数据信息 。          程序计数器: 是一块很小的内存空间,每个线程私有,可以看作当前线程程序执行的字节码的行号提示器。 栈: 线程私有存储空间,访问速度仅次于寄存器,栈里面的存储单位为,栈帧, 栈帧对应着方法, 存放着方法的 局部变量表,操作数栈,常量池引用,方法返回地址。 本地方法栈:用于管理本

weixin_38570406

java 栈和堆区别详细介绍

主要介绍了java 栈和堆区别详细介绍的相关资料,需要的朋友可以参考下

weixin_38719635

课件-内存结构,垃圾回收,字节码,内存模型.zip

非常好的HM JVM课件,尤其是字节码的部门,非常良心,搭配HM JVM视频使用更加哦。博客地址https://blog.csdn.net/hancoder/article/details/105210258

hancoder

java OOM内存泄漏原因及解决方法

主要介绍了java OOM内存泄漏原因及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

weixin_38678550
评论 22
收藏 已收藏
分享
返回顶部
Magical茏
Java SE 62,621 成员 307,251 内容