軟體學習經典書籍和相關技術推薦

來源:互聯網
上載者:User

這篇文章是第100篇部落格,該文章將我看過的好書總結一下,對後來人也有一個好的指導。看書和網上搜尋相比,看書更加系統,更加全面,效率也更高,另外建議不要看電子版,看書還是看印刷版的方便看。

C語言

入門好書:《C程式設計》譚浩強著,該書言簡意該,通俗易懂,非常適合入門學習;

深入學習:《C專家編程》;

C++語言

文法學習:《C++ Primer Plus》,文法講得很全面和系統;

深入研究:《C++物件模型》,這本書必看,看了這本書就懂得了C++的底層機制,才能深刻理解C++的難懂的“沒有道理”的文法;

物件導向思想:《大話設計模式》程傑著,說實話,GoF版的《設計模式》實在難懂,這本《大話設計模式》寫得通俗易懂,而且本身設計模式應該是物件導向思想,所以最主要的是將思想理會,所以我更推薦通俗易懂、風趣的《大話設計模式》;

演算法

系統學習:《演算法導論》;

實踐強化:北大ACM練習,網址:http://poj.org/,實際編程很重要,才能將演算法本身注意的關鍵點牢記在心;

其他

C++必備知識:STL、引用計數、Boost,STL在實際工作中盡量多用,引用計數在所有物件導向語言中可能都是必不可少的技術,它主要兩個作用,一個是記憶體自動回收,一個是節省記憶體(包括有些對象不具備複製的意義),Boost是一個庫,也是多用;

多線程:多線程首先明白為什麼多線程不安全,是因為兩個線程都使用了全域變數或者local static變數,要使安全執行緒一個是盡量不用全域變數和local static變數,如果不能迴避,就要使用同步方法,多線程同步共四個方法(互斥鎖、訊號量、互斥鎖+條件變數、原子操作)。

Android

Binder:雖然實際工作真的不需要非常明白binder如何?的,但是作為一個中進階工程師必須知道binder的機制,在我的blog裡有分析;

sp和wp:這就是前面說的引用計數,以及什麼sp強引用的缺陷是循環參考時對象無法釋放,這個時候至少一方使用弱引用;

JNI:JNI主要兩點,一個是JNI的引用計數,和C++的引用計數不同,因為JNI的引用計數需要Java虛擬機器的支援;另外一個是異常處理;

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.