作為一門古老的編程語言,C語言已經堅挺了好幾十年了,初學者從C語言入門,大學將C語言視為基礎課程,不管別人如何抨擊,如何唱衰,C語言就是屹立不倒;Java、C#、Python、PHP、Perl 等都有替代方案,它們都可以倒下,唯獨C語言不行,
程式是在記憶體中運行的(我們將在《載入記憶體,讓程式運行起來》一節中詳細說明),一名合格的程式員必須了解記憶體,學習C語言是了解記憶體布局的最簡單、最直接、最有效的途徑,C語言簡直是為記憶體而生的,它比任何一門編程語言都貼近記憶體,
所謂記憶體,就是我們常說的記憶體條,就是下圖這個玩意,相信你肯定見過,
所有的程式都在拼盡全力節省記憶體,都在不遺余力提高記憶體使用效率,計算機的整個發展程序都在圍繞記憶體打轉,不斷地優化記憶體布局,以保證可以同時運行多個程式,
不了解記憶體,就學不會行程和執行緒,就沒有資格玩中大型專案,沒有資格開發底層組件,沒有資格架構一個系統,命中注定你就是一個菜鳥,成不了什么氣候,
作業期間我曾專注于網站開發,雖然能夠設計出界面漂亮、體驗良好的網頁,但是對記憶體泄漏、多執行緒、共享記憶體等底層概念一竅不通,感覺和周圍同事的差距很大,這讓我非常郁悶,不知道如何突破,我曾多次嘗試學習記憶體和執行緒,也找了很多資料,但是無論如何都啃不懂,到頭來還是一頭霧水,
離職后我全職運營C語言中文網,于是決定再次系統、深入、全面地學習C語言,并結合C語言去了解一些記憶體知識,這個時候我才發現,原來C語言就是為記憶體而生的,C語言的設計和記憶體的布局是嚴密貼合的,我因為學習C語言而吃透了記憶體,了解了計算機記憶體是如何分布和組織的,
C語言無時無刻不在談記憶體,記憶體簡直就是如影隨形,你不得不去研究它,
至關重要的一點是,我能夠把記憶體和具體的編程知識以及程式的運行程序結合起來,真正做到了學以致用,讓概念落地,而不是空談,這才是最難得的,
攻克記憶體后基本上也能夠理解行程和執行緒了,行程和執行緒是圍繞記憶體打轉的,從一定程度上講,它們的存在也是為了更加高效地利用記憶體,
從C語言到記憶體,從記憶體到行程和執行緒,環環相扣:不學C語言就吃不透記憶體,不學記憶體就吃不透行程和執行緒,
我感覺自己瞬間升華了,達到了一個新的高度,之前的很多謎團都解開了,和大神交流也沒有障礙了,
「記憶體 + 行程 + 執行緒」這幾個最基本的計算機概念是菜鳥和大神的分水嶺,也只有學習C語言才能透徹地理解它們,Java、C#、PHP、Python、JavaScript 程式員作業幾年后會遇到瓶頸,有很多人會回來學習C語言,重拾底層概念,讓自己再次突破,
想更好的學習了解C語言記憶體管理,可以加群:1151395975,領取記憶體管理視頻和其他素材噢~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/235899.html
標籤:其他
上一篇:python中取整數的幾種方法
