Java 笔试选择题知识点记录【dw-0823】
静态代码块和静态变量
如下代码是什么结果?
public class Test { public static void main(String[] args) { System.out.println(Student.age); } } class Student { static { age = 23; } public static int age; age = 30; }
正解:报错。
原因是?TODO
块冲突概率
按Cache地址映像的块冲突概率从高到低的顺序是直接映像、组相联映像、全相联映像。
- 直接映像是每个主存字块地址映像到Cache中的一个指定地址的方式,硬件简单,地址变换速度快,不需要替换算法,但块冲突概率高,Cache利用率不高。
- 全相联映像是每个主存地址映像到Cache任何一个地址,块冲突概率低,只有Cache块全部满了才会冲突,但实现复杂,适合小容量采用。
- 组相联映像是直接映像和全相联映像的折衷,将存储空间分组,组间直接映像,组内全相联映像。
编译过程中,常见的中间语言形式
三元式:三元式是把表达式及语句表示成一组三元式,每个三元式由运算符op,运算对象arg1 和 arg2组成,如(op, arg1, arg2)
四元式:四元式是把表达式及语句表示成一组四元式子,在三元式的基础上添加一个结果,如(op, arg1, arg2, result)
逆波兰表达式:逆波兰表达式是一种最简单的中间代码表示形式,把运算对象写在前面,运算符号写在后面,例如a+b写成ab+
SQL 语句给表格改名字
ALTER TABLE old_name RENAME new_name
死锁检测方法
- 资源分配图:TODO
- 银行家算法
索引失效的方式
- 模糊匹配:like
- 如果查询条件中对索引字段使用函数,就会导致索引失效。因为索引保存的是索引字段的原始值,而不是经过函数计算后的值,自然就没办法走索引了。例如:where length(name)=6;
- 对索引进行表达式计算:比如 where id + 1 = 10;
- 对索引隐式类型转换:MySQL 在遇到字符串和数字比较的时候,会自动把字符串转为数字,然后再进行比较。
- 联合索引非最左匹配。
- WHERE 子句中的 OR
Java 后端笔经 文章被收录于专栏
Java 后端笔试经验