不要吞掉原异常,可以打log或者再抛出去;
不要在for循环中try-catch;
不要使用异常来控制业务逻辑;
不要直接捕获泛泛的异常 Exception;
try-catch的代码快不要太大,不好定位,会降低jvm优化效率;
try-catch产生性能问题,会落快照;
不知...
汪明鑫
5年前 (2019-08-30) 723浏览 0评论
0喜欢
前言
装饰者模式顾名思义,做一个装饰
对原有逻辑进行一个包装,锦上添花
动态的把新功能附加到对象上,就像插件一样,即插即用
是继承的替代方案,但比只用的继承的承弹性更大,更灵活,且遵循设计模式原则
类图
Component:抽象组件(可以是抽象类...
汪明鑫
5年前 (2019-08-27) 892浏览 0评论
0喜欢
前言
解耦抽象和实现,使得两者可以独立的变化。
多重继承的替代方案
此处的 抽象 并不是指 抽象类 或 接口 这种高层概念,实现 也不是 继承 或 接口实现 。
抽象 与 实现 其实指的是两种独立变化的维度。其中,抽象 包含 实现,因此,一个 抽象 类的变化可能涉及到多种维度的变...
汪明鑫
5年前 (2019-08-26) 841浏览 0评论
0喜欢
前言
建造者模式顾名思义造东西的,因此是创建型设计模式
建房子需要打地基、砌墙、封顶
地基、砌墙、封顶都是建房子的必须的一部分,固定的建造部分组成整体
就可以使用建造者模式
过程和建造房子的部分相同,但不同的房子建造的高度质量等不太一样
通用类图
(...
汪明鑫
5年前 (2019-08-21) 866浏览 0评论
0喜欢
mybatis报错
No constructor found in …. matching….
查询数据库返回一个实体类的list
最开始方向走错了,以为是数据库数据类型映射到Java数据类型出错,接收不到
后来发现是由于构造函数的问题,需要...
汪明鑫
5年前 (2019-08-21) 816浏览 0评论
0喜欢
原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
以原型为模,克隆出所有属性均相同的对象
如克隆羊多利,记住这个例子,就不难理解原型模式了
使用场景
● 资源优化场景
类初始化需要消化非常多的资源,这个资源包括数据、硬件资源...
汪明鑫
5年前 (2019-08-20) 792浏览 0评论
0喜欢
之前已经有一篇关于模版方法模式的例子
现在看看写的有些烂,另开一篇
模版方法,顾名思义,按照一定的模版(规则、步骤)来执行的方法
核心思想:
把算法的结构和步骤定义在抽象模版方法类中,而其实现类,实现具体的方法。
既统一了算法的步骤,又可...
汪明鑫
5年前 (2019-08-19) 830浏览 0评论
2喜欢
前言
创建型设计模式:工厂方法、抽象工厂、建造者、原型、单例
工厂模式就占了两个,而单例模式和建造者模式也是经常使用的
工厂模式有三种简单工程模式、工厂方法模式、抽象工厂模式
简单工厂模式当生产的产品扩展后,还要修改生成对象的代码,违背了设计模式的原则
因此严格来说,简单工厂模式...
汪明鑫
5年前 (2019-08-16) 871浏览 0评论
1喜欢
我想把map转为json存在mysql的一个字段中数据类型为json
表如下
CREATE TABLE tb (
id BIGINT NOT NULL PRIMARY KEY auto_increment,
info json
);
这个...
汪明鑫
5年前 (2019-08-15) 1458浏览 0评论
0喜欢
字段类型后的数字
建表时我们在数字类型后习惯跟一个括号加数字
如int(11),varchar(20)等
那这些数字究竟有什么含义呢?
常见误解(包括我自己一开始也是想当人):
认为数字就是限制数据存储长度
下面我们揭开数据类型(m)的真面目
数据类型(m) 来约...
汪明鑫
5年前 (2019-08-15) 814浏览 0评论
0喜欢