复盘记录面试中的问题
1.Java基础
面相对象三大特征
- 封装:将对象的属性隐藏在对象内部,不允许外部对象直接访问对象的内部信息,但可以提供一些方法来操作对象的属性。
- 继承:在已经有的类基础上创建新的类,新的类可以继承父类的属性和方法,也可以进行扩展(方法和属性)
- 多态:同一操作作用于不同的对象产生不同的行为。具体就是“父类引用指向子类对象”,如果子类重写了父类的方法,那么实际执行的是子类的方法,否则执行的是父类的方法
重载和重写的区别
重载:同一个类中,两个方法的方法名相同,但方法列表不同(参数类型,个数,顺序不同)
- 哪些场景用到重载?(没答好🌟
重写:子类可以对继承的父类方法进行重写,就是方法名相同,参数列表也相同,但内部逻辑可以进行修改。
Java数据类型🌟
8个。(切记String不是基本数据类型,是引用类型)
数值型(6个)
整数型:byte,short,int,long(分别占1,2,4,8字节);
浮点型:float,double(占4,8字节)
字符型(1个) char(占2字节)
布尔型(1个)boolean(占1字节)
Java中的引用类型🌟
- 强引用:将一个对象赋值给引用变量,这个引用变量就是一个强引用。使用new关键字赋值的引用(变量)就是强引用。强引用在发生gc时也不会被回收,除非判断该对象不可达,变成了垃圾才会回收。
- 软引用:通过
SoftReference
类实现。 有用但不是必须的对象,在发生内存溢出之前会被回收。 - 弱引用:通过
WeakReference
类实现。他的强度比软引用更低一点, 有用但不是必须的对象,在下一次GC时会被回收,而不管内存是否足够。 - 虚引用:虚引用对象在任何时候都可能被回收。主要用于跟踪对象被垃圾回收的状态,在 gc 时返回一个通知。
2.jvm
3.juc
4.框架
- Spring的原理
- 依赖注入的原理