n******t 发帖数: 4406 | 1 我幾乎很少看到過規模達到一定程度的C++和Java跑很長時間之後不漏內存的。
這就是爲啥C++最流行的地方是寫桌面程序,速度響應不錯。實在漏得太多不行了可以
關了重來,比如說瀏覽器,office,圖片編輯軟件,各種視頻播放。當然還有例子就是
編譯器,反正內存基本上是從來不釋放的,編譯完了完事。
Java因爲反映慢所以最早其實是想搞前端的,比如說desktop和網頁applet,但是因爲
效率響應實在是太差,所以很多年過去之後就慢慢沒了。不過Java去搞服務器市場,因
爲反正不用考慮內存管理所以程序員好招結果活下來了。但是也就是因爲這個特點,
Java的內存控制就更難搞一些,內存漏沒漏都說不清楚,此外習慣寫GC的人因爲沒有回
收內存的概念,常常喜歡漏句柄。所以java的服務器程序,一般需要一堆的監控,看着
不對就重啓。當然這也是另外一生態系統。 |
g****t 发帖数: 31659 | 2 Golang一样也会漏内存。还挺难查。
【在 n******t 的大作中提到】 : 我幾乎很少看到過規模達到一定程度的C++和Java跑很長時間之後不漏內存的。 : 這就是爲啥C++最流行的地方是寫桌面程序,速度響應不錯。實在漏得太多不行了可以 : 關了重來,比如說瀏覽器,office,圖片編輯軟件,各種視頻播放。當然還有例子就是 : 編譯器,反正內存基本上是從來不釋放的,編譯完了完事。 : Java因爲反映慢所以最早其實是想搞前端的,比如說desktop和網頁applet,但是因爲 : 效率響應實在是太差,所以很多年過去之後就慢慢沒了。不過Java去搞服務器市場,因 : 爲反正不用考慮內存管理所以程序員好招結果活下來了。但是也就是因爲這個特點, : Java的內存控制就更難搞一些,內存漏沒漏都說不清楚,此外習慣寫GC的人因爲沒有回 : 收內存的概念,常常喜歡漏句柄。所以java的服務器程序,一般需要一堆的監控,看着 : 不對就重啓。當然這也是另外一生態系統。
|
n******t 发帖数: 4406 | 3 對的,沒提go是因爲it還不夠主流。那個東西除了有GC,而且因爲成天讓小白隨便
launch goroutine做並行,更是可以漏得沒邊了。
【在 g****t 的大作中提到】 : Golang一样也会漏内存。还挺难查。
|
m*****n 发帖数: 3575 | 4 这么夸张呢?
有GC还漏?
【在 g****t 的大作中提到】 : Golang一样也会漏内存。还挺难查。
|
g****t 发帖数: 31659 | 5 https://go101.org/article/memory-leaking.html
https://stackify.com/memory-leaks-java/
https://www.fugue.co/blog/diagnosing-and-fixing-memory-leaks-in-python.html
随便找找,到处都是文章和github issues。
有gc的语言,我感觉其严格性其实都是很难理解的。
要写好有质量的,且包含复杂逻辑的代码,更不容易。
另外gc是提高内存管理的。不能看作有gc,所以内存问题就没了。
不存在universal memory leak 检查器,其是图灵停机
问题。
【在 m*****n 的大作中提到】 : 这么夸张呢? : 有GC还漏?
|
m*****n 发帖数: 3575 | 6 好的,谢谢。
html
【在 g****t 的大作中提到】 : https://go101.org/article/memory-leaking.html : https://stackify.com/memory-leaks-java/ : https://www.fugue.co/blog/diagnosing-and-fixing-memory-leaks-in-python.html : 随便找找,到处都是文章和github issues。 : 有gc的语言,我感觉其严格性其实都是很难理解的。 : 要写好有质量的,且包含复杂逻辑的代码,更不容易。 : 另外gc是提高内存管理的。不能看作有gc,所以内存问题就没了。 : 不存在universal memory leak 检查器,其是图灵停机 : 问题。
|
g*****2 发帖数: 863 | 7 现在写代码趋势是短平快,都内嵌函数block,没人关心内存问题, |
n******t 发帖数: 4406 | 8 用技術手段解決人的問題從來沒有work過。C可以有意埋坑,C++更容易,rust和golang
一樣容易。 |