
java复习
康康拉
这个作者很懒,什么都没留下…
展开
-
jdk动态代理,cglib代理
【代码】jdk动态代理,cglib代理。原创 2022-09-16 11:05:52 · 126 阅读 · 0 评论 -
debug 查看stream流
debug 查看stream流原创 2022-08-26 23:09:01 · 615 阅读 · 0 评论 -
Hashtable源码
3.tab计算索引的位置赋值到entry数组,这里主要如果计算出索引位置有值,但是值不同或者不同对象值不同,就添加到链表后面。2.计算key的hashcode(),计算数据添加到索引的位置。5.进去addEntry方法,超过临界值实现扩容。4.调用添加addEntry。1.创建一个11大小的数组。6.真正的实现赋数组值。...原创 2022-08-12 22:40:12 · 230 阅读 · 0 评论 -
LinkedHashSet源码分析
4,添加第一次的时候,直接将数组table扩容到16倍,存放的节点是LinkedHashMap$Entry。2,linkedHashSet底层维护的是一个LinkedHashMap。3,LinkedHashSet底层结构(数组加双向链表)1,linkedHashSet加入顺序和取出顺序一直。5,数组是HashMap。...原创 2022-08-12 22:37:27 · 171 阅读 · 0 评论 -
HashSet源码分析
计算的索引位置一样,但是hash值不一样,判断是不是一个红黑树。计算的索引位置一样,但是hash值不一样,然后形成一个链表添加。6.第一次添加进入resize()方法扩容。1.第一次创建HashSet对象。7.然后回到putVal方法。4.hash(key)方法。5.putVal方法。...原创 2022-08-12 22:35:19 · 212 阅读 · 0 评论 -
LinkedList源码分析
代码】LinkedList源码分析。原创 2022-08-12 21:56:29 · 121 阅读 · 0 评论 -
Vector源码
3.进入ensureCapacityHelper()方法,不会扩容,4.添加数据超过10,调用grow(minCapacity)扩容。2.第一次添加add。原创 2022-08-12 21:55:25 · 156 阅读 · 0 评论 -
ArrayList源码
3.ensureCapacityInternal方法。5.ensureExplicitCapacity方法。4.calculateCapacity计算数组容量。7.第二次扩容还是调用grow方法。8.这里在原数组增加到15个容量。2.第一次添加add方法。原创 2022-08-12 21:53:48 · 86 阅读 · 0 评论 -
创建线程4种方式
如果我们在启动一个线程,必须重新创建一个Thread子类对象,调用此对象的start()说明:当我们启动一个线程,必须调用Start() ,不能调用run() 的方式启动线程。联系:public class Thread implements Runnable。相同点:两种方式都需要重写run() ,将线程的逻辑声明在run()中。2.实现的方式更适合来处理多个线程共享的数据的情况。在开发中有优先使用的是实现Runnable接口。原因:1.实现的方式没有单继承性的局限性。...原创 2022-08-09 15:53:22 · 218 阅读 · 0 评论 -
final关键字
1,final可以修饰类,属性,方法和局部变量2,final修饰的类不能继承,可以初始化3,final修饰的方法子类不能重写4,final修饰的属性又叫常量,不能修改且必须有初始值。非静态初始化:直接定义,构造器,代码块静态初始化:直接定义,静态代码块5,final不能修饰构造器**6,**final和static搭配使用效率会更高,调用的时候不会使类加载。底层编译做了优化处理。/*** final使用。...原创 2022-08-07 15:58:04 · 67 阅读 · 0 评论 -
内部类 的使用
局部内部类 静态内部类 匿名内部部类 成员内部类原创 2022-08-07 15:09:59 · 759 阅读 · 1 评论 -
<? extends T>类型和<? super T>类型的区别
extends T>允许调用读方法T get()获取T的引用,但不允许调用写方法set(T)传入T的引用(传入null除外);super T>允许调用写方法set(T)传入T的引用,但不允许调用读方法T get()获取T的引用(获取Object除外)。一个是允许读不允许写,另一个是允许写不允许读。......原创 2022-08-06 18:11:55 · 120 阅读 · 0 评论 -
String修改不改变地址 利用反射
如果我想要改变一个 String 的值,而又不想把它重新指向其他对象的话,应。//爆破,操作private属性。利用反射修改char数组的值。原创 2022-08-06 15:31:42 · 141 阅读 · 0 评论 -
反射 获取类的结构信息 创建对象 访问
代码】反射 获取类的结构信息 创建对象 访问。原创 2022-08-05 15:31:19 · 83 阅读 · 0 评论 -
类加载过程
类加载过程原创 2022-08-05 10:01:38 · 108 阅读 · 0 评论 -
自定义泛型 通配符
自定义泛型类,接口,方法。 通配符使用原创 2022-08-04 17:51:02 · 135 阅读 · 0 评论