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 和地球上所有其他语言中仍然存在内存泄漏,并且在可预见的未来仍然存在。这些泄漏是由代码/程序员引用不再需要技术的对象造成的。这些基本上是逻辑错误,使用当前技术无法通过任何语言预防。 |
|
|
|
|
|