? ? ? ? 計算機的學(xué)習(xí)就是面對三個問題走三條路。
? ? ? ? 第一個問題侦厚,馮諾依曼瓶頸耻陕。cpu,高速緩存刨沦,內(nèi)存诗宣,文件之間巨大的速度差距,如何高效利用cpu想诅。與之相關(guān)的是性能問題召庞,也就有了FIFO算法岛心。一切解決性能的方法都是這條路。計算機內(nèi)存模型篮灼,java內(nèi)存模型忘古,多線程i++,數(shù)值并非預(yù)期诅诱。緩存一致性協(xié)議髓堪,讀寫鎖,hashcode算法位運算娘荡,hashmap的容量為2的次方干旁,數(shù)據(jù)庫設(shè)計只要有范式。炮沐。争群。。等等等等央拖。
? ? ? ? ? 第二個問題,紅藍(lán)軍問題鹉戚,也就是在信道不完全可信的情況下不可能設(shè)計出完全可信的通信協(xié)議鲜戒。這條路上是各種協(xié)議,什么循環(huán)冗余檢驗抹凳,對稱加密不對稱加密遏餐,tcp協(xié)議,http協(xié)議赢底,等等等等失都。
? ? ? ? ? 前兩個問題都是面對計算機和網(wǎng)絡(luò)的,第三個問題是面對人的幸冻。也就是滿足高內(nèi)聚粹庞,低耦合的代碼才是人能看懂方便修改的代碼,還能減少bug洽损。這條路上就是7大原則庞溜,23種設(shè)計模式。
? ? ? ? ? 弄清楚了問題所在有利于我能理解解決的方法和常見套路碑定。以后我會對三條路同時展開探索流码。歡迎大家關(guān)注我。