摘要:
一、multipart/mixed 请求 multipart/mixed 和 multipart/form date 都是多文件上传的格式。区别在于:multipart/form data 是一种特殊的表单上传,其中普通字段的内容还是按照一般的请求体构建,文件字段的内容按照 multi 阅读全文
摘要:
一、前言 SpringBoot 打成 Jar 包形式运行后 ,resources 目录下文件的读取修改和 Spring 不太一样,网上比较多的是关于读取的方式,修改的几乎没有,终于在 stackoverflow 上找到了正确的打开方式。 二、 文件读取 三、 文件修改 阅读全文
摘要:
一、背景 从 dubbo 2.6.5 升级到 2.7.0,突然发现好多地方不能用了,dubbo:annotation 直接报红,原先的 @Service 和 @Reference 中直接报了过时,源码里面也没有告知替代的类,真是耍流氓。。 二、dubbo 2.7.0 介绍 Dubbo 2.7.0 添 阅读全文
摘要:
一、剩下的模式 1、桥接模式(Bridge Pattern) 概念:不只改变你的实现,也改变你的抽象。桥接模式的主要特点是把抽象(Abstraction)与行为实现(Implementation)分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。 角色: 1. 实现类接口(Im 阅读全文
摘要:
一、概念 代理模式:为另一个对象提供一个替身或占位符已控制对这个对象的访问,管理访问的方式有许多种。 角色: 1、Subject:主题接口,为 RealSubject 和 Proxy 提供了接口。通过实现同一接口,Proxy 在 RealSubject 出现的地方的取代它。 阅读全文
摘要:
一、概念 状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。这个模式将状态封装成为独立的类,并将动作委托到代表当前状态的对象,我们知道行为会随着内部状态而改变。 一个对象“看起来好像修改了它的类”是什么意思呢?从客户的视角来看:如果说你使用的对象能够完全改变它的行为,那么你 阅读全文
摘要:
2018结束了!工作以来才觉得一年原来可以过的这么快。秉着悟已往之不谏,知来者之可追的态度,思来想去,也不知道能总结些什么~ 先介绍下笔主吧,笔主是一个职场新人,就职于一家2B的网约车公司(没错,就是卖软件、卖服务的那种),负责日常的开发、运维以及网约车公司和交通部的对接工作 阅读全文
摘要:
在开发过程中,有时候我们发现 JVM 占用的CPU/内存居高不下,跟我们的预期不符,这时,CPU 在做什么呢?是什么线程让CPU/内存如此忙碌呢?我们通过如下几步,可以查看 CPU 在执行什么线程。 1、 top 命令查看CPU/内存占用过高的进程(P 按CPU占用大小排序,M 按内存占用大小排序) 阅读全文
摘要:
一、概念 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 组合包含组件。组件有两种:组合和叶节点元素。组合持有一群孩子,这些孩子可以是别的组合或者叶节点元素。 角色: 组合部件(Component):它是一个抽象角色, 阅读全文
摘要:
一、概念 模板方法模式:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 解析:模板方法模式用来创建一个算法的模板。什么是模板?模板就是一个方法。更具体地说,这个方法将算法定义成一组步骤,其中的任何步骤都可以是抽象的, 阅读全文
摘要:
一、适配器模式 1、概念 定义:将一个类的接口,转换成客户期望的另一个类的接口,适配器让原本接口不兼容的类可以合作无间。 安卓转Type C头,就是一个典型的适配器模式。在安卓头和 Type C 之间引入适配器,安卓头是被适配者。 解析: 1、 客户(Client)通过目标接 阅读全文
摘要:
一、函数接口 |接口|参数|返回类型|描述| |: :|: :|: :|: :| |Predicate<T>|T|boolean|用来比较操作| |Consumer<T>|T|void|没有返回值的函数| |Function|T|R|有返回值的函数| |Supplier< 阅读全文
摘要:
一、概念 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 角色: 1、命令(Command):为所有命令声明了一个接口。调用命令对象的 execute()方法,就可以让接收者进行相关的操作。这个接口也具备一个 undo() 阅读全文
摘要:
一、概念 工厂方法模式:用来封装对象的创建。工厂方法模式(Factory Method Pattern)通过让 子类 决定该创建的对象是什么,来达到将对象创建的过程封装的目的。这样,关于超类的代码和子类创建对象的代码之间就解耦了。 抽象工厂模式(Abstract Factory Pattern):提 阅读全文
摘要:
一、概念 继承的缺点:类数量爆炸、设计死板以及基类加入的新功能可能并不适用于所有的子类。 装饰者模式:动态地将责任附加到对象上,若要扩展功能,装饰者提供了比继承更有弹性的替代方案。一言以蔽之 —— 动态扩展类的行为。 角色: 1、抽象组件(Component):给出一个抽象类 阅读全文