• 数据库

1.数据库的索引有哪些?

(1)B树索引:利用B树作为底层数据结构的索引,在B树索引中保存索引列的值和数据表的对应行的ID,每一个叶子结点都存放着一个索引列的值和数据表对应行的ID,通过这个可以实现快速查询。

(2)位图索引:当字段的基数很低时,需要使用位图索引(效率较高),将某个字段所有可能的值用对应的位去表示,每一条记录对应一组位,字段与位符合的置为1,否则置为0,节省内存空间

(3)反向键索引:为了解决B树索引对顺序键值的不适配导致建立好的索引而提出的一种特殊的B树索引,可以让索引的叶子结点分布更为平均,每次进行索引时反向键索引会先反向每个键值的字节,然后对反向后的新数据进行索引。

(4)基于函数的索引:即查询语句中包含了函数表达式作为查询条件,为了提高查询效率(避免全表扫描),可以采用基于函数的索引,即利用函数表达式作为索引项进行查找。

(5)哈希索引、全局索引等其他索引

可以参考这篇博客:https://www.cnblogs.com/sessionbest/articles/8689255.html

• C++

《Effective C++》总结:https://www.cnblogs.com/shenshenlei/p/5497967.html

1. 定义一个空类,会发生什么?

编译器会自动为空类声明一个默认构造函数(无参),一个拷贝构造函数,一个赋值运算符(=)以及一个析构函数,并且这个析构函数默认是非虚函数,除非这个空类的基类定义了一个虚析构函数。注意这里只是声明,只有在这些函数被实际调用的时候才会被编译器所创建。(参考《Effective C++》条款5)

2.编译器默认提供的函数,如果不想要使用,应该将拷贝构造函数和赋值运算符声明为私有的,并且不予以实现,这样就可以阻止编译器实现将一个对象拷贝成另一个对象(从逻辑上来说是不存在两个对象完全相同)。

C++11以前:将拷贝构造函数和赋值运算符函数均声明为私有,并且不予以实现,如下代码所示:

 class temp{
public:
......
private:
temp(const temp& f);//拷贝构造函数
temp& operator=(const temp&);//重载赋值运算符,只声明不定义
}

C++11出现了新的标准,允许程序员以一种新的方式实现以上功能,如下代码所示, 支持C++11的编译器上也可以将成员函数定义成delete,这样就实现了对编译器默认提供的函数的屏蔽。(具体可以参考《Effective C++》条款6)

 class temp
{
public:
...
private:
...
temp(const temp&) = delete; //拷贝构造函数
temp& operator=(const temp&) = delete; //重载赋值运算符

• 多进程

多进程通信方式(IPC)及特点总结

无名管道(pipeline): 简单方便,但只适合于父子进程之间(也可以提供给子进程的子进程即孙进程),局限于单向通信,必须有一方关闭管道的写入,另一方关闭管道的读取,实用范围小。

命名管道(FIFO):与无名管道相反的是,FIFO可以实现任意进程之间的通信,不只限于父子进程之间,功能比无名管道强大,不足之处是命名管道长期驻留在内存中,使用不当容易出错。

最新文章

  1. DDD:两篇不错的文章
  2. 误卸载python2.4导致yum不能用后的修复
  3. ado.net工厂模式DbProviderFactories
  4. 16_采用SharedPreferences保存用户偏好设置参数
  5. ABAP FIELD-SYMBOLS 有大作用- 将没有可改参数的增强出口变得也能改主程序的值了
  6. 一个PDO类
  7. ADSL拨号连接
  8. php 字符串
  9. AT&T汇编helloworld
  10. JMockit使用总结
  11. C++语言之动态内存分配
  12. [USACO 102]Agri-Net
  13. Confluence5.8部分空间名称显示为问号的解决方案
  14. cocos2dx-3.x物理引擎Box2D介绍
  15. Sun公司的产品AnswerBook存在多种漏洞
  16. P1525 关押罪犯 题解
  17. 【javascript】javascript设计模式之工厂模式
  18. 点广告获取一些BTC(比特币)的网站
  19. Highcharts 基本曲线图;Highcharts 带有数据标签曲线图表;Highcharts 异步加载数据曲线图表
  20. hibernate树

热门文章

  1. Codeforces627A【数学·有意思】
  2. Luogu P1265修复公路【Prim最小生成树】By cellur925
  3. NOIp 2015真题模拟赛 By cellur925
  4. NOIp 2015信息传递【tarjan/拓扑/并查集】
  5. hdu 2189 悼念512汶川大地震遇难同胞——来生一起走 基础母函数
  6. C# 多线程(转)
  7. Selenium | 基础入门
  8. Educational Codeforces Round 46 (Rated for Div. 2) B. Light It Up
  9. cpp extern 关键字用法
  10. CentOS 6.9:ntpdate[3115]: no server suitable for synchronization found