通过对c/c++ 基础知识和应用实践中所涉及的编程知识的归纳总结,逐渐完善自己在软件编程方向上的知识体系。主要包括以下内容:
c/c++
常见的数据类型,bit,byte,char,short,int,long,float,double,BYTE,WORD,DWORD,数组,指针,引用,对象。
常见的操作符,<<,>>,=,++,new,delete。
面向对象的特性,封装(class、function),继承(public、protected、private),多态(virtual)。
具有重要意义的修饰符,const ,static,external。
内存的存储空间结构。
线程与进程
线程,线程的定义,线程的四种状态。
多线程,多线程的同步和互斥的几种实现方法,用户模式(原子操作、临界区),内核模式(事件、信号量、互斥量)。
linux下线程同步的三种方法,事件、信号量、互斥量。
进程,进程的定义,进程所拥有的系统资源。
进程间通信的方式,管道,命名管道(FIFO),消息队列,信号量,共享内存,套接字,文件。
网络编程
网络编程,七层OSI网络模型,TCP/IP协议,tcp sockect,,udp socket, http,rtp,rtcp,rtsp。
处理大并发,epoll(select和poll的缺点)。
数据库编程
关系型数据库mysql,非关系型数据库Redis。
处理海量数据,哈希表。
设计模式
设计模式,设计原则。