05 2018 档案
摘要:转载篇 1、重复代码 即使是一两句代码的重复也需要重构,有时候重复不是那么明显,可能需要首先进行其他的重构才能看到代码重复。 2、长方法 用面向过程的思路来写干面向对象的活,即使可以在一页内能够显示的方法也可能过长 3、大类 一个类含有太多的责任和行为,违背了单一性的原则 4、参数太多 参数过多,可
阅读全文
摘要:通常来说,查询的生命周期大致可以按照顺序来看从客户端到服务端,然后在服务器上进行解析,生产执行计划, 执行,并返回结果给客户端。其中的执行阶段可以认为是整个生命周期中最重要的阶段,其中包括了大量为了检索 数据到存储引擎的调用以及调用后的数据处理,包括排序、分组等。 在完成这些任务的时候,查询需要在不
阅读全文
摘要:事务 1、定义:所有操作必须成功完成,否则在每个操作中所作的所有更改都会备撤销。 2、事务的ACID 原子性atomicity 一致性consistency 隔离性isolation 持续性durability 2-1、原子性: 事务是数据库的逻辑工作单位,事务中包含的各操作要么都做,要么都不做 2
阅读全文
摘要:MySQL数据库常见的两个瓶颈是CPU和I/O。 CPU在饱和的情况下一般发生在数据装入内存或者从磁盘上读取数据的时候,当装入的数据远大于 内存容量的时候,这时可能会发生I/O瓶颈, 如果是分布式应用的话,当查询量大的时候瓶颈可能会出现在网络上。 我们可以采用常用的Linux 命令来查看系统的性能状
阅读全文
摘要:springMVC执行步骤: 1、用户发送请求到前端控制器,前端控制器根据请求信息来决定选择页面控制器,并将请求委托给它 2、页面控制器收到请求后,进行功能处理,首先需要收集和绑定请求参数到一个对象,并进行验证,然后将命令对象委托给业务对象 处理;处理完后返回一个ModelAndView(模型数据和
阅读全文
摘要:定义:在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。类似发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息 四种角色:抽象被观察者角色 抽象观察者角色 具体被观察者角色 具体观察者角色 小Demo走一波 1、定义Obs
阅读全文
摘要:NIO,一种基于通道和缓冲区的I/O方式,可以使用native函数库直接分配堆外内存,然后通过一个存储在java 堆的DirectBteBuffer对象作为这块内存的引用进行操作,避免了再java堆和native堆中来回复制数据。 NIO是一种同步非阻塞的IO模型。同步是指线程不断轮询IO事件是否就
阅读全文
摘要:JVM的内存区域模型 1、方法区 也称永久代、非堆。 用于存储虚拟机加载的类信息、常量、静态变量,是各个线程共享的内存区域。 默认最小值为16MB,最大值为64MB,可以通过-XX:PermSize和-XX:MaxPermSize参数设置其大小。 运行时常量池是方法区的一部分,class文件中除了有
阅读全文
摘要:定义一系列算法,将每一个算法封装起来,并让他们可以相互替换。 1、定义一个抽象策略类 /** * 定义一个购买球的策略类 * @author Tim * */ public interface Ball { public double price(double price); } 2、定义二种具体的
阅读全文
摘要:* 模板模式: * 完成一件事情,有固定的数个步骤,但是每个步骤根据对象的不同,而实现细节不同; * 可以在父类中定义一个完成该事情的总方法,按照完成事件需要的步骤去调用其每个步骤的实现方法。 * 每个步骤的具体实现,由子类完成 1、定义银行业务处理抽象类 public abstract class
阅读全文
摘要:定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。将建造复杂对象的过程和组成对象的部件解耦。 包含如下几种角色: Builder:抽象建造者(Builder) ConcreteBuilder:具体建造者(CommonBuilder、SuperBuilder) Direc
阅读全文
摘要:1、通过ApplicationContext将bean注入容器中
阅读全文
摘要:import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.Future; import java.util.concurrent.RecursiveTask; public class CountTaskForkJoi...
阅读全文
摘要:public class QuickSort { static void quick_sort(int s[], int start_index, int last_index) { if (start_index = x) // 从右向左找第一个小于x的数 j--; ...
阅读全文
摘要:采用LinkedList数据结构方式来模拟消费者与生产者模型,小Demo
阅读全文
摘要:在concurrent包中提供了condition接口,通过该接口可唤醒指定的某个线程,而不是采用随机唤醒的形式。
阅读全文
摘要:1、定义服务接口 2、定义服务接口实现类 3、定义服务提供者 4、定义服务消费者 5、服务提供中心类
阅读全文
摘要:抽象工厂包含如下角色: AbstractFactory(抽象工厂):用于声明生成抽象产品的方法 ConcreteFactory(具体工厂):实现了抽象工厂声明的生成抽象产品的方法,生成一组具体产品,这些产品构成了一个产品族,每一个产品都位于某个产品等级结构中; AbstractProduct(抽象产
阅读全文
摘要:最简单版(饿汉式)。 通过static的静态初始化方式,在该类第一次被加载的时候,该对象的实例就被创建出来了 第一种方式,如果较多的单例采用上述方式的话,可以回造成不必要的浪费。可采用另外两种方式来避免该种情况 静态内部类方式,通过显式调用方法是,才会装载单例对象,从而实例化 懒汉模式方式 网上说序
阅读全文