我以Java作为编程语言开始了三年的开发,仅使用Java(好,有时是python)开发了许多应用程序。 当我开始对计算机科学的第一次正式学习时,我意识到内存管理存在着巨大的色彩和呼声。 我开始用C / C ++进行大学项目,然后意识到,乌夫! 我必须担心变量保留在内存中的位置,如果不再需要它们,我也必须释放空间。 奇怪的是,直到我们遇到问题之前,我们都不知道存在这个问题,并且为我们处理了它(因为Java为我们处理了它)。 这激起了我上大学系统课程的兴趣,以深入了解Java中如何收集垃圾(即不再使用的变量)以及三年来我如何在Java中编写无忧无虑的代码!

您担心垃圾会流到哪里吗?

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

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

  1. 什么时候去垃圾收集? As soon as a variable is not used. When the memory is full i.e. when it is utterly needed to do it! Once in a while.垃圾回收时应该停止分配吗?是否应该以这种方式进行分配,以使垃圾收集更高效,更清洁?对象存活/有用的方式是否有规律?

我将在下一个博客中尝试用实际的实现方式回答这些问题。 直到快乐的垃圾袋,哎呀,我的意思是编码!

Orginally posted on : https://medium.com/@ishani.gupta27.ig/

from: https://dev.to//ishanigupta27/are-you-worried-where-your-garbage-goes-2k4l

相关文章:

  • 2021-12-22
  • 2022-12-23
  • 2021-11-01
  • 2021-08-13
  • 2021-08-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-05-21
  • 2022-12-23
  • 2021-07-18
  • 2021-06-08
  • 2021-07-16
  • 2022-12-23
  • 2021-11-03
相关资源
相似解决方案