這是事實:Go語言有一個垃圾收集器。Java有垃圾回收許多Java程序都有(微妙的或沒有的)內存泄漏由于有內存泄漏(不適用于微弱的心臟,這個問題可能會動搖你的信念)的Java程序的一個例子,在這里看到的關于所謂的Tomcat的一個小Java程序,它甚至有一個“查找泄漏”按鈕:有什么辦法以避免在Tomcat中取消部署內存泄漏?所以我想知道:用Go編寫的程序是否會表現出與某些用Java編寫的程序一樣的(細微或不細微的)內存泄漏?
3 回答

千巷貓影
TA貢獻1829條經驗 獲得超7個贊
您在這里混淆了不同類型的內存泄漏。
基于Java(或任何其他基于GC的語言)的令人討厭的,基于顯式內存管理的內存泄漏已消失。這些泄漏是由于完全失去對內存塊的訪問而沒有將其標記為未使用引起的。
在計算機可以閱讀我們的思想之前,Java以及地球上其他所有語言仍然存在“內存泄漏”,并且這種情況將在可預見的將來出現。這些泄漏是由代碼/程序員保留對技術上不再需要的對象的引用引起的。這些從根本上講是邏輯錯誤,使用當前技術無法用任何語言阻止。

楊__羊羊
TA貢獻1943條經驗 獲得超7個贊
“內存泄漏”是指程序員認為要釋放的一塊內存沒有被釋放。無論是否收集垃圾,這種情況都可能以任何語言發生。GC語言中的常見原因是保留了對內存的其他引用。
“語言不會導致內存泄漏,程序員不會導致內存泄漏”。
- 3 回答
- 0 關注
- 250 瀏覽
添加回答
舉報
0/150
提交
取消