【2019春招准备:总目录】

版权声明:本文为博主原创文章,未经博主允许不得转载。 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
  1. final关键字:(jdk5)
  • final修饰的常量,通常全体大写,可以通过类名直接调用。因为是final常量,除了调用的时候需要书写类名,其他时候和类没有关系,即就算类里面有静态代码块,也不会执行。这是因为在编译的时候已经处理好的。
  • final修饰的变量:
    如果是基本数据类型(byte short int long float double char boolean)一旦创建不能修改;
    如果是引用数据类型(除了该8种以外的所有)引用不可以改变,就是说引用的对象不能指向新的对象,但是已经指向的对象内容可以修改;
  • final修饰的方法:不可以被修改重写或者覆盖。子类不能重写但是可以重载,将父类的final方法定义为private,在子类的时候没有这个方法,重新定义一个同名的方法就可以了。很多inline函数往往都是final修饰。
  • final修饰的类:不可以被继承。
  • 好处:能够提高JVM性能,多线程安全。(保证安全创建,因为有可能在创建的时候其它线程已经用到这个引用)
  1. 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();

猜你喜欢

转载自blog.csdn.net/qq_33907408/article/details/84477343