版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33907408/article/details/84477343
面向岗位及其优先级:java后端>大数据开发>前端
项目 | 链接 |
---|---|
1 | |
2 | |
3 |
序号 | 考点 | 链接 | 备注(公司、年份) |
---|---|---|---|
1 | 线程池、线程池参数 | https://blog.csdn.net/qq_33907408/article/details/84479261 | 滴滴java开发实习-2018.11 |
2 | final关键字 | 见下 | 百度一面(基础面)-2018.11 |
3 | equals && hashcode | 见下 | |
4 | jvm - java编译器 - java解释器 | https://blog.csdn.net/qq_33907408/article/details/84492321 | |
5 | 集合框架之map | https://blog.csdn.net/qq_33907408/article/details/84501557 | |
6 | 集合框架之list | https://blog.csdn.net/qq_33907408/article/details/84529769 | |
7 | 集合框架之set | ||
8 | 排序 | https://blog.csdn.net/qq_33907408/article/details/84529714 | |
9 | 算法进阶 | https://blog.csdn.net/qq_33907408/article/details/84539696 | |
10 | 数据库 | https://blog.csdn.net/qq_33907408/article/details/84578578 | |
11 | 24个常见设计模式 | https://blog.csdn.net/qq_33907408/article/details/84670640 | |
12 | atomic原子类操作 | https://blog.csdn.net/qq_33907408/article/details/84712530 |
- final关键字:(jdk5)
- final修饰的常量,通常全体大写,可以通过类名直接调用。因为是final常量,除了调用的时候需要书写类名,其他时候和类没有关系,即就算类里面有静态代码块,也不会执行。这是因为在编译的时候已经处理好的。
- final修饰的变量:
如果是基本数据类型(byte short int long float double char boolean)一旦创建不能修改;
如果是引用数据类型(除了该8种以外的所有)引用不可以改变,就是说引用的对象不能指向新的对象,但是已经指向的对象内容可以修改; - final修饰的方法:不可以被修改重写或者覆盖。子类不能重写但是可以重载,将父类的final方法定义为private,在子类的时候没有这个方法,重新定义一个同名的方法就可以了。很多inline函数往往都是final修饰。
- final修饰的类:不可以被继承。
- 好处:能够提高JVM性能,多线程安全。(保证安全创建,因为有可能在创建的时候其它线程已经用到这个引用)
- equals hashcode:
java所有的对象都有equals,hashcode方法:
object:初始的时候和==完全一样,如果要实现具体不同类的equals,需要重写。
而最原始的 ==:基本类型直接比较大小,引用类型比较地址。
public boolean equals(Object obj) {
return (this == obj);
}
String的equals可以作为重写的典范:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}//先判别地址是否相同
if (anObject instanceof String) {//比较类别
String anotherString = (String)anObject;
int n = value.length;
if (n == anotherString.value.length) {//比较长度
//转换成字符数组,逐个比较
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
hashcode:int
object:其中的native关键字表示,这个函数的实现并不是java写的(c++这一套都放在了dll里面):
“A native method is a Java method whose implementation is provided by non-java code.”
public native int hashCode();