实质
ArrayList的底层实现就是数组
其动态变化的长度是由其扩容机制所组成的,在jdk1.8中,扩容代码如下:
1 | /** |
可以看出,新的容量是原来的1.5倍.
1 | /** |
默认长度是10
ArrayList的底层实现就是数组
其动态变化的长度是由其扩容机制所组成的,在jdk1.8中,扩容代码如下:
1 | /** |
可以看出,新的容量是原来的1.5倍.
1 | /** |
默认长度是10
1 | package tech.xixing.design.pattern.creational.singleton; |
在最后加入方法readResolve()即可在反序列化中返回原来对象。
1 | package tech.xixing.design.pattern.creational.singleton; |
对于懒汉模式,并不能对反射攻击进行有效防御
1 | package tech.xixing.design.pattern.creational.singleton; |
1 | Class objectClass=LazySingleton.class; |
ctrl+alt+b是查看接口的实现类
ctrl+f12是查该类的方法
ctrl+n是查整个项目的类
1 | package site.xixing.io; |