1. 什么是乐观锁?什么是悲观锁?
乐观锁指的是程序会记录一个标记值,当接收到请求时,会对相关值进行判断,而悲观锁指的是不管是否发生冲突,只要存在可能性就会对没次访问都进行加锁。
2. 什么是重载?什么是重写?
重载发生在本类中,表示的是方法名相同,参数列表不同的两个方法,重载与返回值类型、访问修饰符无关。
重写是指在子类中,方法的名称、返回值相同,访问修饰符的范围小于等于父类同名方法。
3. this关键字和super关键字的区别是什么?
this关键字表示的事当前类的实例对象,通过this关键字可以调用本类的成员。super关键字表示的是当前类的之间父类的实例,通过super关键字可以调用父类的成员,但是super关键字无法访问父类的私有成员。
4. 请说出内存中的堆、栈、方法区之间的区别
堆内存用于存放通过new关键字创建的对象或数组。栈表示程序中一个线程的私有空间,它用来保存局部变量,方法区是所有线程的共有方法区,它用于保存一些类信息。
5. ThreadLocal的作用是什么?
ThreadLocal表示的事线程本地变量,它为每一个线程都维护了一个独立的变量副本,它还可以将对象的可见范围限制在同一个线程内。