回答

收藏

Go 是否会遭受与 Java 相同的微妙内存泄漏?

技术问答 技术问答 196 人阅读 | 0 人回复 | 2023-09-12

以下是事实:$ ~: [; T, ^. H$ \/ K) v1 O; U- x1 d
Go 语言中有一个垃圾收集器。
8 N5 ]0 H) `$ m# qJava 有垃圾回收机制
8 i" f, s+ f' ~0 V许多 Java 所有程序都有内存泄漏(微妙或不明显)
作为一种内存泄漏 Java 程序的例子(不适合胆小的人,可能会动摇你的信念),
" L4 U  M5 W( b所以我想知道:用 Go 编写的程序是否会显示与一些 Java 编写程序中相同类型(微妙或不明显)的内存泄漏?7 x9 w* q2 I- |7 v$ P' V& g7 u, [5 D- H
                                                                7 F0 E9 U3 p& r# m
    解决方案:                                                               
2 s0 O3 r( L) }# Q                                                                您在这里混淆了不同类型的内存泄漏。& p2 U& L! E4 C+ k, A9 g* u
基于显式内存管理的令人发指的内存泄漏 Java(或任何其他基础 GC 的语言)消失了。这些泄漏是由于内存块的访问权限完全丧失而没有标记为未使用。2 m% B( h4 ^+ ^) b2 q) ^
在计算机读取我们的想法之前,Java 和地球上所有其他语言中仍然存在内存泄漏,并且在可预见的未来仍然存在。这些泄漏是由代码/程序员引用不再需要技术的对象造成的。这些基本上是逻辑错误,使用当前技术无法通过任何语言预防。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则