摘要: 失血模型:模型仅仅包含数据的定义和getter/setter方法,业务逻辑和应用逻辑都放到服务层中。这种类在java中叫POJO。 贫血模型:贫血模型中包含了一些业务逻辑,但不包含依赖持久层的业务逻辑。这部分依赖于持久层的业务逻辑将会放到服务层中。可以看出,贫血模型中的领域对象是不依赖于持久层的。 阅读全文
posted @ 2019-03-28 11:50 facker1 阅读(4941) 评论(0) 推荐(2) 编辑
摘要: XA协议的两阶段提交方案 第一阶段是表决阶段,所有参与者都将本事务能否成功的信息反馈发给协调者;第二阶段是执行阶段,协调者根据所有参与者的反馈,通知所有参与者,步调一致地在所有分支上提交或者回滚。 但是两阶段提交方案锁定资源时间长,对性能影响很大,基本不适合解决微服务事务问题。 TCC方案 其将整个 阅读全文
posted @ 2019-03-27 21:30 facker1 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 背景 :函数上千行代码,类巨大,高耦合。业务发展到一定阶段,原来的程序设计不能满足业务需求,或者经过多遍更改后,存在大量冗余的逻辑代码;新的架构设计,进行业务拆分。 重构是在不改变项目现有的业务逻辑或者代码逻辑的基础上对程序进一步提炼或者扩展,使其结构化,代码规范化,弱耦合。非常重要的一点。 糟糕的 阅读全文
posted @ 2019-03-27 17:10 facker1 阅读(739) 评论(0) 推荐(0) 编辑
摘要: 1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给Dispa 阅读全文
posted @ 2019-03-27 16:31 facker1 阅读(119) 评论(0) 推荐(0) 编辑
摘要: hashmap允许null key和value ,属于fail-fast,因此会抛出ConcurrentModificationException异常。当存储过多数据时,就会转成红黑树进行存储,就像java.util.TreeMap。内部维护的是一个node数组。 给hashmap进行put数据时, 阅读全文
posted @ 2019-03-27 14:29 facker1 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1、适配器模式 适配器模式就是把一个类的接口变换成客户端所能接受的另一种接口,从而使两个接口不匹配而无法在一起工作的两个类能够在一起工作。通常被用在一个项目需要引用一些开源框架来一起工作时,这些框架的内部都有一些关于环境信息的接口,需要从外部引入,但是外部的接口不一定能匹配,在这种情况下,就需要适配 阅读全文
posted @ 2019-03-26 17:08 facker1 阅读(171) 评论(0) 推荐(0) 编辑
摘要: public ThreadPoolExecutor(int corePoolSize, //核心线程数,超过这个值时要在线程池中等待 int maximumPoolSize, //最大线程数,超过这个线程数则执行拒绝策略 long keepAliveTime, //活跃线程数大于核心线程数时,空闲的 阅读全文
posted @ 2019-03-25 22:55 facker1 阅读(109) 评论(0) 推荐(0) 编辑
摘要: Filter的创建和销毁也是由WEB服务器负责。不过与Servlet区别的是,它是1>在应用启动的时候就进行装载Filter类(与Servlet的load-on-startup配置效果相同)。2>容器创建好Filter对象实例后,调用init()方法。接着被Web容器保存进应用级的集合容器中去了等待 阅读全文
posted @ 2019-03-25 22:51 facker1 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 代码优化的目标是: 1、减小代码的体积 2、提高代码运行的效率 代码优化细节 (1)尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以 阅读全文
posted @ 2019-03-25 16:06 facker1 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 不要迷信union all 就比 or及in 快,要结合实际情况分析到底使用哪种情况。 对于索引列来最好使用union all,因复杂的查询【包含运算等】将使or、in放弃索引而全表扫描,除非你能确定or、in会使用索引 对于只有非索引字段来说你就老老实实的用or 或者in,因为 非索引字段本来要全 阅读全文
posted @ 2019-03-22 12:25 facker1 阅读(3375) 评论(0) 推荐(0) 编辑