这是事实:Go语言有一个垃圾收集器。Java有垃圾回收许多Java程序都有(微妙的或没有的)内存泄漏由于有内存泄漏(不适用于微弱的心脏,这个问题可能会动摇你的信念)的Java程序的一个例子,在这里看到的关于所谓的Tomcat的一个小Java程序,它甚至有一个“查找泄漏”按钮:有什么办法以避免在Tomcat中取消部署内存泄漏?所以我想知道:用Go编写的程序是否会表现出与某些用Java编写的程序一样的(细微或不细微的)内存泄漏?
3 回答
千巷猫影
TA贡献1829条经验 获得超7个赞
您在这里混淆了不同类型的内存泄漏。
基于Java(或任何其他基于GC的语言)的令人讨厌的,基于显式内存管理的内存泄漏已消失。这些泄漏是由于完全失去对内存块的访问而没有将其标记为未使用引起的。
在计算机可以阅读我们的思想之前,Java以及地球上其他所有语言仍然存在“内存泄漏”,并且这种情况将在可预见的将来出现。这些泄漏是由代码/程序员保留对技术上不再需要的对象的引用引起的。这些从根本上讲是逻辑错误,使用当前技术无法用任何语言阻止。
杨__羊羊
TA贡献1943条经验 获得超7个赞
“内存泄漏”是指程序员认为要释放的一块内存没有被释放。无论是否收集垃圾,这种情况都可能以任何语言发生。GC语言中的常见原因是保留了对内存的其他引用。
“语言不会导致内存泄漏,程序员不会导致内存泄漏”。
- 3 回答
- 0 关注
- 222 浏览
添加回答
举报
0/150
提交
取消