Software learning classic books and related technical recommendations

Source: Internet
Author: User

This articleArticleIt is 100th blogs. This article summarizes the good books I have read and provides good guidance to later users. Reading books is more systematic, comprehensive, and more efficient than searching on the Internet. In addition, it is recommended that you do not read the electronic version or read the printed version for convenience.

C Language

A good entry book: cProgramDESIGN: Tan haoqiang, Which is concise and easy to understand and is very suitable for entry-level learning;

In-depth study: C expert programming;

C ++ Language

Syntax learning: C ++ primer plus. The syntax is comprehensive and systematic;

In-depth research: "C ++ object model", this book is a must-read. After reading this book, I understand the underlying mechanism of C ++, in order to deeply understand C ++'s obscure "irrational" syntax;

Object-oriented Thinking: Cheng Jie of the big talk design model. To be honest, the design model of the gof version is hard to understand. This big talk design model is easy to understand, in addition, the design model should be object-oriented, So the most important thing is to pay attention to the ideas, so I recommend the easy-to-understand and funny big talk design model.

Algorithm

System learning: Introduction to algorithms;

Practice enhancement: Peking University ACM exercise. Website: http://poj.org/. programming is very important to keep the key points of the algorithm in mind;

Others

C ++ knowledge: STL, reference count, boost, and STL are used as much as possible in actual work. Reference count may be an essential technology in all object-oriented languages, it has two main functions: one is automatic memory recovery, the other is memory saving (including some objects do not have the significance of replication), and boost is a library and is also used for multiple purposes;

Multithreading: multithreading first understands why multithreading is unsafe because both threads use global variables or local static variables. To ensure thread security, try not to use global variables or local static variables, if you cannot avoid them, you need to use the synchronization method. multi-thread synchronization involves four methods (mutex lock, semaphore, mutex lock + condition variable, and atomic operation ).

Android

Binder: although the actual work really does not need to understand how the binder is implemented, as a senior engineer, you must understand the Binder Mechanism and analyze it in my blog;

SP and WP: This is the reference count mentioned above, and the defect of strong SP references is that objects cannot be released when circular references are made. At this time, at least one party uses weak references;

JNI: JNI has two main points: one is the reference count of JNI, which is different from the reference count of C ++, because the reference count of JNI requires the support of Java Virtual Machine; the other is exception handling;

 

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.