摘要: 一、概念 状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。这个模式将状态封装成为独立的类,并将动作委托到代表当前状态的对象,我们知道行为会随着内部状态而改变。 一个对象“看起来好像修改了它的类”是什么意思呢?从客户的视角来看:如果说你使用的对象能够完全改变它的行为,那么你阅读全文
posted @ 2019-01-17 09:14 JMCui 阅读(49) 评论(0) 编辑
摘要:  2018结束了!工作以来才觉得一年原来可以过的这么快。秉着悟已往之不谏,知来者之可追的态度,思来想去,也不知道能总结些什么~  先介绍下笔主吧,笔主是一个职场新人,就职于一家2B的网约车公司(没错,就是卖软件、卖服务的那种),负责日常的开发、运维以及网约车公司和交通部的对接工作阅读全文
posted @ 2019-01-13 17:40 JMCui 阅读(41) 评论(0) 编辑
摘要: 在开发过程中,有时候我们发现JVM占用的CPU居高不下,跟我们的预期不符,这时,CPU在做什么呢?是什么线程让CPU如此忙碌呢?我们通过如下几步,可以查看CPU在执行什么线程。 1.查找jvm进程ID: jps lv 或者 ps aux | grep java 2.根据pid,查找占用cpu较高的线阅读全文
posted @ 2019-01-12 13:07 JMCui 阅读(56) 评论(0) 编辑
摘要: 一、概念 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 组合包含组件。组件有两种:组合和叶节点元素。组合持有一群孩子,这些孩子可以是别的组合或者叶节点元素。 角色:  组合部件(Component):它是一个抽象角色,阅读全文
posted @ 2019-01-02 13:14 JMCui 阅读(35) 评论(0) 编辑
摘要: 一、概念 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 解析:模板方法模式用来创建一个算法的模板。什么是模板?模板就是一个方法。更具体地说,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的,阅读全文
posted @ 2018-12-21 09:35 JMCui 阅读(33) 评论(0) 编辑
摘要: 一、适配器模式 1、概念 定义:将一个类的接口,转换成客户期望的另一个类的接口,适配器让原本接口不兼容的类可以合作无间。 安卓转Type C头,就是一个典型的适配器模式。在安卓头和 Type C 之间引入适配器,安卓头是被适配者。 解析:   1、 客户(Client)通过目标接阅读全文
posted @ 2018-12-17 19:54 JMCui 阅读(139) 评论(0) 编辑
摘要: 一、函数接口 |接口|参数|返回类型|描述| |: :|: :|: :|: :| |Predicate<T>|T|boolean|用来比较操作| |Consumer<T>|T|void|没有返回值的函数| |Function|T|R|有返回值的函数| |Supplier<阅读全文
posted @ 2018-12-07 18:57 JMCui 阅读(191) 评论(0) 编辑
摘要: 一、概念 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 角色:  1、命令(Command):为所有命令声明了一个接口。调用命令对象的 execute()方法,就可以让接收者进行相关的操作。这个接口也具备一个 undo() 阅读全文
posted @ 2018-11-30 09:18 JMCui 阅读(60) 评论(0) 编辑
摘要: 一、概念 工厂方法模式:用来封装对象的创建。工厂方法模式(Factory Method Pattern)通过让 子类 决定该创建的对象是什么,来达到将对象创建的过程封装的目的。这样,关于超类的代码和子类创建对象的代码之间就解耦了。 抽象工厂模式(Abstract Factory Pattern):提阅读全文
posted @ 2018-11-20 15:20 JMCui 阅读(179) 评论(1) 编辑
摘要: 一、概念 继承的缺点:类数量爆炸、设计死板以及基类加入的新功能可能并不适用于所有的子类。 装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。一言以蔽之 —— 动态扩展类的行为。 角色:   1、抽象组件(Component):给出一个抽象类阅读全文
posted @ 2018-11-14 18:04 JMCui 阅读(185) 评论(0) 编辑