STL为了各个容器高效的管理空间,设计一块高效的内存管理机制,避免了频繁向系统申请小块内存块造成内存碎片、影响程序运行效率,和直接使用malloc和new申请额外空间浪费、申请空间失败的问题,还考虑了线程安全问题。虽然内核中已经有了一个类似的slab分配器来管理小块内存但是内核是针对操作系统中所有程
介绍事务就是是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,若做了一部分但是只要有一步失败,就要回滚所有操作,InnoDB支持事务,MyISAM不支持事务当有多个客户端同时操作数据库的某张表,或客户端开启各自事务操作数据库中的数据时,MySQL提供了一种机制,可以让不同的事务在操作数
B树当我们有大量数据在磁盘中存储时需要查询某一数据时,我们不可能将其一次性加载到内存中,此时,我们可以在内存中只保存数据项需要查询的部分信息,以及数据在磁盘中的位置,根据这些信息构建数据结构来方便查找,自然我们想到了红黑树、AVL树这些数据结构,但是对于大量数据,比如10亿的数据我们平均需要进行30
哲学家就餐问题中的死锁描述:在一张圆桌上,有n个哲学家,n支筷子,他们的生活方式只是交替地进行思考和进餐,饥饿时便试图取其左、右最靠近他的筷子,只有在他拿到两支筷子时才能进餐,进餐完毕,放下筷子又继续思考若n位哲学家都各自获取了一只筷子,此时所有哲学家都想获取第二只筷子去吃饭,但是共享资源n只筷子已
一个类只能创建一个对象,即单例模式,该模式可以保证系统中该类只有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息,这种方式简化了