1.select count(*) from table 表示返回表中包括空行和重复行在内的行数,但是会扫描所有列
select count(1) from table 也是返回表中包括空行和重复行在内的行数,不会扫描所有列,1其实就是表示有多少个符合条件的行,但是此时没有where,所有没条件也就是返回总行数
select count(id) from table 表示返回表中存在该列id的行数,但是该列的值不为空,为空的不计算,所以在此题中是不能用这个,因为tg_email都为空,用主键可以,因为主键肯定不为空
2.调用者发出信息后,必须等待消息处理结束返回后,才能进行后续操作的是同步消息
3. 1个先进先出队列可以通过1个数组或者1个单向链表来实现,出队和入队的均摊复杂度均为O(1)
1个堆栈可以通过1个数组或者1个单向链表来实现,出栈和入栈的均摊复杂度均为O(1)
1个先进先出队列可以通过2个堆栈来实现,出队和入队的均摊复杂度均为O(1)
4.在一个真实的计算机系统中,资源会损坏或被替换,新的进程会进入和离开系统,新的资源会被购买和添加到系统中。如果用银行家算法控制死锁,下面哪些变化是安全的(不会导致可能的死锁)?答:减少可用资源(资源被从系统中永久性地移出)、增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源)
5.类不是在类定义里定义数据成员时初始化数据成员,而是通过构造函数控制初始化。
变量或函数的定义尽量不要放在头文件中。因为头文件包含在多个源文件中,所以不应该含有变量或函数的定义。
const对象可以定义在头文件中。
6.虚函数必须是非静态成员函数。
对于虚函数,virtual关键字只能出现在类定义中的函数原型声明中,不能出现在类体外的函数定义中.
根据类型兼容规则,基类指针(或引用)可以指向其派生类的实例,但在非虚函数的情况下,通过基类指针(或引用)却只能调用基类的函数成员,无法调用其所指实例(派生类)的函数成员。
7、Java虚拟机里提供了哪些调用字节指令:invokestatic、invokespecial、invokevirtual