- 博客(3)
- 收藏
- 关注
原创 静态代理和动态代理(两种)
1、静态代理(装饰者模式) //1、首先创建一个接口,定义一个方法 public interface UserService { /** * 模拟装修 */ void save(); } //2、编写接口的实现类,这里的save() 方法可以理解为原始方法 public class UserServiceImpl implements UserService { @Override public void save() { System
2020-09-03 18:58:43
243
原创 集合总结(完善中...)
#集合总结(完善中…) (1)ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高,可以存储重复元素 (2)LinkedList 底层数据结构是链表,查询慢,增删快,线程不安全,效率高,可以存储重复元素 (3)Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低,可以存储重复元素 大部分方法都被synchronized 关键字修饰 一、arraylist源码解析(理解&重要) 扩容详解:使用空参构造会得到一个长度为 0 的数组,但是没有分配容量 在添加第一个元素时
2020-08-21 17:47:14
1987
原创 Random类和System.random() 区别
Random类和System.random() 区别 1、Random继承实现关系 class Random extends Object implements Serializable 直接子类: SecureRandom: 因为Random不是加密安全的 ThreadLocalRandom:因为Random不是线程安全的 2、Random使用 我们先看看Random两种构造方法的使用得到的结果,发现有参构造得到的三组随机数竟然是相同的!!而空参构造得到的三组随机数不相同,至于为什么我们贴出源码探究。 p
2020-07-21 18:29:48
2425
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人