基础六
-
ArrayList线程不安全,底层是数组实现的,允许重复对象
-
序列化与反序列化:将数据转化为n个byte序列的过程为序列化,相反的:将n个byte转化为数据的过程为反序列化。简单理解一下就是:把看得懂的数据转化为看不懂的byte序列就是序列化。把看不懂的byte序列转化为看得懂的数据就是反序列化。
-
接口方法中必须是public abstract,变量只能是public static final,不同的jdk版本会有不同。
-
缓存的放置和删除时间,
三级缓存:CreateBeanInstance之后,方法名为addSingletonFactory 二级缓存:第一次从三级缓存确定对象是代理对象还是不同对象的时候,同时删除三级缓存getSingleton 一级缓存:生成完整对象之后放到一级缓存,删除二三级缓存:addSingleton
-
Bean Factory与Factory Bean有什么区别?
相同点:都是用来创建Bean对象的 不同点:使用BeanFactory创建对象的时候,必须要遵循严格的生命周期流程,太复杂了,
-
以java8为准,switch支持10种类型基本类型:byte char short int 对于包装类:Byte,Short,Character,Integer ,String enum
-
Java.lang.NullPointerException:变量未被初始化,对象未赋值、对象为空(俗称空指针异常) java.lang.NumberFormatException:数据格式转换失败(Integer的取值范围为:-128~127,超过范围都会访问false) java.lang.RuntimeException:运行时异常 java.lang.ArrayindexOutOfBoundsException:数值下标越界
方法名相同,参数不同:重载
方法名相同,参数相同:重写(发生于父类)
-
abstract class 表示的是”is-a"关系,interface表示的是“like- a”关系
-
IO流有字符流和字节流 字符流:Reader和Writer 字节流:InputSream和OutputStrem