javase
文章平均质量分 76
给我一只二哈
这个作者很懒,什么都没留下…
展开
-
【JAVA SE】代理模式(二)--JAVA动态代理
动态代理与静态代理的比较和静态代理一样,动态代理同样有三种角色:1.抽象角色(用于被代理类、被代理类共同实现的接口);2.被代理角色(被代理的类,是我们最终要引用的对象);3.代理角色(实现共同接口,代理被代理类完成工作,而且可以做一些额外的工作)。动态代理的抽象角色和被代理角色与静态代理完全相通,而动态代理的代理类是动态实现的。那么如何动态生成代理类呢?我们只需要实现InvovationHand...原创 2018-07-03 23:20:10 · 196 阅读 · 0 评论 -
【JAVA SE】代理模式(一)--静态代理
代理模式:为一个A对象提供一个代理对象B,以控制对A对象的访问。可以把代理对象B理解为一个中介。代理模式涉及到的校色:抽象校色:被代理对象和代理对象都要实现的接口被代理角色:代理角色代理的真实对象,是我们最终要引用的对象代理角色:代理对象内部有对被代理对象的引用(成员变量),从而可以操纵真是对象,代理对象提供和被代理对象相同的接口,从而在被调用时可以代替被代理对象实现功能;代理对象还可以实现一些被...原创 2018-07-03 21:45:00 · 111 阅读 · 0 评论 -
【JAVA SE】集合框架--HashMap原理深入理解(二)
数组扩容HashMap的容量是有限的。当经过多次元素插入,使得HashMap达到一定饱和度时,Key映射位置发生冲突的几率会逐渐提高。这时候,HashMap需要扩展它的长度,也就是进行Resize。影响发生Resize的因素有两个:1.CapacityHashMap的当前长度。上一期曾经说过,HashMap的长度是2的幂。2.LoadFactorHashMap负载因子,默认值为0.75f。衡量Ha...原创 2018-07-16 13:24:49 · 211 阅读 · 0 评论 -
【JAVA SE】集合框架--HashSet(一)
HashSet实现了Set接口。在实际开发中HashSet是Set的实现类里使用频率最高的类。既然实现了Set接口,所以HashSet必然是不能放入重复元素的。那么什么是“重复的元素”呢?先看下面的例子public static void main(String[] args) { HashSet set=new HashSet(); String str1=new String("...原创 2018-06-20 17:24:01 · 121 阅读 · 0 评论 -
【JAVA SE】集合框架--LinkedList
与ArrayList不同的是,LinkedList是基于链表实现的。所以这里要简单的说下数据结构,解释完数据结构LinkedList的源码实现看起来就很容易了。简单来说,一般将数据结构分为两类:线性数据结构和非线性数据结构。线性数据结构有:线性表、栈、队列、串、数组、和文件;非线性结构有树和图。线性表按存储结构可以分为顺序表和链表。顺序表是内存中地址连续存放的数据结构,而链表在内存地址中不是连续的...原创 2018-06-20 17:23:12 · 130 阅读 · 0 评论 -
【JAVA SE】集合框架--ArrayList
ArrayList继承了 AbstractList 类,实现了collection接口。ArrayList顾名思义 ,数组列表的意思。一.常用api使用1.add(Object obj);add方法用于向list中添加对象,将指定元素追加到list末尾 。接收参数类型为Object类型对象,所以可以向ArrayList中添加任意类型的对象,同一个list中可以放入不同类型的对象。但是list中不能...原创 2018-06-20 17:21:30 · 137 阅读 · 0 评论 -
【JAVA SE】集合框架--HashMap原理深入理解(一)
HashMap结构HashMap底层维护一个数组,数组的每个元素是一个链表结构。声明:下文所有数组指的是HashMap底层的数组 ,链表指数组某个位置上的链表。基于数组和链表的实现原理先看源码:// HashMap声明的内部类。数组上每个位置存储一个 Entry<K,V>,每个 Entry<K,V>单向链接多个 Entry<K,V> static class ...原创 2018-06-23 11:04:14 · 177 阅读 · 0 评论 -
【JAVA SE】内部类
内部类可以分为:成员内部类、静态内部类、局部内部类、匿名内部类。内部类可以降低命名空间的慌乱,定义在类的内部。1.静态内部类class StaticInner{ private static int a=4; public static class Inner{ public void test(){ Sy...原创 2018-07-15 17:07:24 · 178 阅读 · 0 评论