内存垃圾去哪了?

我的编程语言是从Java开始的,3年来,我开发了很多只使用Java的应用程序(好吧,有时是python)。

当我开始第一次正式学习计算机科学时,我意识到在内存管理方面存在着巨大的争议。

我开始用C/ C++做我的大学项目,然后意识到,啊!!

我不得不担心我的变量在内存中的位置,如果不再需要它们,我也必须释放空间。

奇怪的是,直到我们面临一个问题时,我们才知道它的存在,并且它是为我们处理的(就像Java为我们处理它一样)。

这激发了我在大学里学习系统课程的兴趣,想要深入了解垃圾是如何产生的。

(变量不再使用)是收集在Java和我如何编码无忧无虑的Java 3年!

Where is your garbage going ?

好的,从头开始。 您输入int x = 5。 在运行时,即程序执行期间,该x将指向堆上4个字节的位置,其值为5。 您在1000行代码中的一行中使用了x,然后就不再使用了! 令人恐惧的是,这4个字节被锁定为程序中几乎不再使用的变量。 解决方案:使用较小的变量? 不可能:我们知道这些高级编程语言旨在让我们自由使用自己想要的东西! 即使从未接受过计算机科学方面的正式教育,这也有助于编写代码并以此为生!

另一个解决方案:计算机应该以某种方式(以非常幼稚的方式)不断检查内存中这些剩余的/未使用的字节,并继续为我们所用分配它们。

有很多算法/方案以混合和匹配的方式使用,可以为我们完成这种自动清洗。 它们偏离各种逻辑。 其中一些逻辑回答以下问题。 在了解这些逻辑之前,请三思而后行!

  1. 一旦不使用变量,那该什么时候去垃圾收集?当内存已满时,即完全需要执行此操作时!只是偶尔。

  2. 垃圾回收时应该停止分配吗?

  3. 是否应该以这种方式进行分配,来让垃圾收集更高效、更清洁?

  4. 对象存活/有用的方式是否有规律?

在下一篇博客中,我将尝试用实际的实现来回答这些问题。直到那时候快乐的垃圾被处理,噢,我是说编码!

原文链接: https://dev.to//ishanigupta27/are-you-worried-where-your-garbage-goes-2k4l

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值