![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
qq_35755863
这个作者很懒,什么都没留下…
展开
-
从Java中的集合交集探寻空间换时间的案例(对于我们处理大数据量可做参考)
目的:(1)双从For循环的复杂度(2)集合转Map的降低复杂度的方法以及注意点一:背景在一个数据量为2W的A集合中查询数据量2W的B集合中相同ID的数据。1.准备:模拟出2个集合public class Persion { //ID private Integer id ; //姓名 private String name ; //没写Set/get等方法}//随机创建2w个对象 List<Persion> ol.原创 2020-08-09 18:38:27 · 785 阅读 · 0 评论 -
java设计模式(十三):观察者模式
一:观察者模式1.引出问题 当一个系统如何去发布通知,并且及时的通知用户,通知用户并进行反馈。这里我们就引出一个新的模式:观察模式。观察者模式的结构原理图如下: 2.引出概念 从上图可以看到有以下几个概念: 主题:又叫被观察者对象,用来发布消息 订阅:又叫观察者,用来接收消息二:代码1.订阅抽象pack...原创 2019-07-29 13:14:50 · 86 阅读 · 0 评论 -
java设计模式(七):代理模式
目录一:代理模式1.引用场景2.引出概念3.代理模式二:静态代理1.抽象角色2.真实角色3.代理角色4.客户端三.动态代理实现一--jdk的动态代理1.引出场景2.引出概念3.这里依次贴出代理4.说明四:动态代理实现二--cglib1.引出问题2.引出概念3.贴出代码4.jdk动态代理和cglib动态代理的区别五:...原创 2019-07-17 12:04:58 · 87 阅读 · 0 评论 -
java设计模式(十):组合模式
一:组合模式1.引出问题 无论java中还是其他软件设计中,都会有着这样一种结构-树形结构。比如遇到最多的就是地区(地区比较复杂其中不仅涉及到简单的树结构还涉及到数据狗种比较深的左右结构的构成,在java项目中,地区的存储不是一个地区一个记录而是以上下左右节点去存储的,有兴趣的同学可以自行百度哦)等,这里我们举一个比较简单的示例。2.引出概念 在上述...原创 2019-07-19 13:37:58 · 125 阅读 · 0 评论 -
java设计模式(十二):策略模式
目录一:策略模式1.引出问题2.引出概念二:代码1.先上结构图2.策略抽象3.抽象的几个实现3.抽象实现的调用4.测试三:说明1.缺点以及解决方案一:策略模式1.引出问题 在谈策略模式,我们先来聊聊之前讲过的一个模式:抽象工厂模式。抽象工厂模式基于工厂抽象类,有多个同参数但是实现方式不同的实现类,然后根据环境不同引用不同的字类实现。如...原创 2019-07-29 02:00:27 · 113 阅读 · 0 评论 -
java设计模式(十一):享元模式
目录一:享元模式1.引出问题2.引出概念二:代码详解1.抽象类2.抽象实现类3.工厂4.测试三:说明1.代码说明2.产生的问题3.解决方案一:享元模式1.引出问题 在看完单例模式,我们知道单例模式在容器运行期间,会产生一个唯一的实例化对象,这样避免了在全局使用时产生多个相同的对象而产生资源浪费的问题。但是在实际生产中,我们需要的往...原创 2019-07-28 23:09:40 · 101 阅读 · 0 评论 -
java设计模式(四):原型模式
一:原型模式原型模式适用于对于一个已有的对象进行复制,复制之后在进行修改等等,在大量使用循环创建对象,并且赋值差不多的情况下该方式就体现出极大的优势来。原型模式原理还是基于java中克隆,而java中的克隆分为2种浅克隆和深克隆。浅克隆:浅克隆是指克隆了原对象的数据类型,浅克隆只适用于一些基本的数据类型。不会克隆引用的对象深克隆: 可科隆引用对象二:浅克隆解析1.只...原创 2019-07-12 11:23:24 · 88 阅读 · 0 评论 -
java设计模式(八):桥接模式
目录一:桥接模式1.问题引出2.引出概念二:代码讲解1.手机品牌的抽象以及实现2.手机软件的抽象和实现3.聚合4.测试三:说明一:桥接模式1.问题引出 现在有这么一个类叫做手机品牌,其中有这么些属性:手机品牌名称,通讯录,游戏等。那么他创建的对象就如下图所示: 如上图所示,创建了多个对象 每一个对象都至少包含着3个属...原创 2019-07-18 11:04:13 · 122 阅读 · 0 评论 -
java设计模式(六):装饰模式
目录一:装饰模式1.引出问题2.解决问题的方案3.基本概念二:代码详解1.构件或者装饰2.构建的具体化3.装饰具体化一 4.装饰具体化二5.测试 6.说明三:装饰模式的用途1.装饰模式的优点2.装饰模式的缺点3.应用场景一:装饰模式1.引出问题 在java中如果存在这样一个类,这个类存在很多属性,...原创 2019-07-15 23:01:36 · 104 阅读 · 0 评论 -
java设计模式(三):建造者模式
一:建造者模式 在一般的对象创建中,我们使用new方式去新建一个对象(调用无参构造或者有参构造方法),然后,在高级一点的技术就是使用工厂模式去创建一个对象的实现类。以工厂模式中的最优方案抽象工厂而言,其见着的对象只有我们去使用对应的子类实现才知道其创建出一个什么样的对象。 这里就有一种新的创建方式:建造者方式。其基本的流程图如下: 似乎,建造者模式对于创建一个新的对象不如...原创 2019-07-11 15:28:39 · 107 阅读 · 0 评论 -
java设计模式(五):适配器模式
目录一:适配器模式二:类适配器模式1.内部方法(有参构造法---源)2.目的(改造user的现实方法)3.适配器(继承内部方法,实现目的接口 --适配器)4.测试5.说明6.实际场景二:对象适配器模式1.适配器(其他的不变)2.测试3.类和对象适配器的比对三:接口适配器1.说明:2.目标3.抽象适配器4.具体适配器四:总结...原创 2019-07-15 18:13:46 · 107 阅读 · 0 评论 -
java设计模式(二):单例模式
目录一:简要说明二:饿汉式的单例1.饿汉式单例2.饿汉式单例的代码示例3.测试以及说明三:懒汉式单例1.最原始的单例模式:2.对外方法上添加同步锁:3.双重锁机制:四:静态内部类的单例1.静态内部类2.代码示例3.序列化和反序列化五:枚举的单例1.枚举单例2.示例代码一:简要说明1.单例类的实例只能有一个。 ...原创 2019-07-11 11:50:22 · 88 阅读 · 0 评论 -
java设计模式(一):工厂模式
一:工厂模式 关于java中的工厂模式,个人认为就是一个不去关注具体的实现,只要调用其实现方法就可以一种模式。举例,有一个制作衣服的工厂,旗下有制作A品牌衣服,B品牌衣服等等。现在我只需告诉他我现在要制作A衣服就ok了二:示例说明说明:在普通的工厂中,我们通过switch来寻找实现。这里我们使用多态来实现据图的方法。这种方式扩展性强,可以添加N多种实现方式。(1)衣...原创 2019-07-10 09:58:02 · 105 阅读 · 0 评论