当前位置: 首页 > 面试经验 >

Java 笔试选择题知识点记录【dw-0823】

优质
小牛编辑
85浏览
2023-08-24

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

 类似资料: