Java后端研发面试之路(持续更新中)

基础篇

8种数据类型

整数类型:byte, short, int, long

  1. byte 1字节
    short 2字节
    int 4字节
    long 8字节
  2. 十六进制:必须以0x或者0X
    八进制 :必须以0开头
    二进制 :必须以0b或者0B开头

浮点数类型:float, double

  1. java默认浮点型为 double, 所以 float 类型需要在数字后面加f( double 加d)
  2. float 4字节
    double 8字节
  3. float f = 3.14f;
    double d = 3.14d;

字符类型:char

使用英文单引号括起,转义字符: \

布尔类型:boolean

用于逻辑运算,没有明确字节数,默认值为 false

运算符

  1. 赋值运算符:=, +=, -=, *=, /=
  2. 算术运算符:+, -, *, /, ++, –
    a=b++; –> a=b;b++;
    a=++b; –> ++b;a=b;
  3. 比较运算符:>, <, >=, <=, !=, instanceof
  4. 逻辑运算符:&&, ||
  5. 位运算符 :&, |, ^, ~, >>, <<, >>>
  6. 三目运算符:?:
  7. 优先级: 算数运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符

final用法:

  1. 作用于类 :禁止被继承, final 类的方法默认是 final
  2. 作用于方法:禁止被重写
  3. 作用于属性:属性为常量
  4. 作用于参数:参数只可读
    常量设置为 static final

扩展

  1. 对变量使用:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量.final变量经常和static关键字一起使用,作为常量.
  2. 对方法使用:final也可以声明方法.方法前面加上final关键字,代表这个方法不可以被子类的方法重写.
    如果一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final.
    final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定.
  3. 对类的使用:使用final来修饰的类叫作final类.final类通常功能是完整的,它们不能被继承.
    Java中有许多类是final的,譬如String, Interger以及其他包装类.
    final好处:
    final关键字提高了性能.JVM和Java应用都会缓存final变量
    final变量可以安全的在多线程环境下进行共享,而不需要额外的同步开销
    使用final关键字,JVM会对方法、变量及类进行优化
    关于final:
    final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误
    不能够对final变量再次赋值
    本地变量必须在声明时赋值*

讲讲HashMap

Java1.8之前是通过数组+链表,Java1.8开始,采用数组+链表和红黑树解决哈希冲突。

一个HashMap跟面试官扯了半个小时

讲讲synchronized

一个synchronized跟面试官扯了半个小时

JVM内存管理

内存划分区域

Linux命令

Linux 命令大全(需要那个搜哪个)

MyBatis的一级缓存、二级缓存是什么?

Mybatis面试知识点(含答案)

如何理解Springboot的AOP和IOC

未解决

异常的体系结构

Java运行时异常和非运行时异常

数据库索引


版权声明:本文为qq_42507357原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。