1、DISTINCT关键字去掉结果中重复的行(作用于所有的列) SELECT DISTINCT vend_id FROM vendors; 放在SELECT的后面 2、LIMIT很重要的关键字在MyBatis用于分页 SELECT DISTINCT vend_id FROM vendors LIMI Read More
二叉树与二叉查找树的操作是必须要熟练掌握的,接下来说的这些树实现起来很困难,所以我们重点去了解他们的特点。 一、平衡二叉查找树与红黑树跳跃表 平衡树AVL:追求绝对的高度平衡,它具有稳定的logn的高度,因此有很好的查找性能O(logn),由于它每次插入删除都需要再平衡,所以插入删除代价较大。 红黑 Read More
1、什么是Servlet servlet是用来处理客户端请求并生成动态网页的Java类。 2、Servlet的生命周期(相当重要) ①加载servlet:可以在第一次调用的时候加载,也可以在配置文件中设置成在应用程序启动时加载。 ②初始化:在第一次请求服务时调用一次init() ③处理请求:每次请求 Read More
1、事务 事务:事务就是满足ACID特性的一组操作。 ①原子性:事务中的操作要么全部执行提交,要么全部回滚 ②一致性:事务执行前后数据总额一致,不会凭空多200元也不会凭空少200 ③隔离性:事务的操作在提交之前对其他事务不可见 ④永久性:一旦事务提交,数据永久改变 2、事务的隔离级别 ①未提交读: Read More
一、命令模式相关概念 命令模式:将具体的执行者封装成命令供调用者调用。 命令对象将调用者和执行者分离,调用者就不必去关心具体的执行过程,以达到解耦和易于维护的目的。 应用:线程池 二、UML图 三、代码 Command.java public interface Command { void exe Read More
一、单例模式的概念 单例模式:创建唯一的实例并提供一个全局的访问点。 注意多线程问题,不同的类加载器可能会使得单例失效。 二、代码 (1)Synchronized同步方法 简单但是开销大,Synchronized是一个很重的操作 public class Singleton { private st Read More
一、工厂模式概念 工厂模式:使得对象的创建和使用它的客户解耦。 简单工厂:简单的把创建对象的方法封装到一个类中。 工厂方法:在基类中声明创建对象的方法,子类中实现。 抽象工厂:定义一组统一的创建对象的接口。 区别:虽然三者都可以解耦,但是工厂方法和抽象工厂比简单工厂更加富有弹性,工厂方法针对单一对象 Read More
一、装饰者模式概念 装饰者模式:提供了一种比继承更加优雅更加弹性的扩展对象功能的方式。 特点:装饰者虽然可以扩展对象功能,但是也会增加很多的子类使得系统变得复杂。 要点:①装饰者和被装饰者具有相同的超类型 ②可以在装饰者委托被装饰者行为的时候扩展功能 应用:Java IO 二、UML图 装饰者要和被 Read More
一、迭代器模式概念 迭代器模式:使得客户遍历集合而又不需要知道集合内部的具体实现。 二、UML图 Read More
一、模板方法模式概念 模板方法:在一个方法中定义一个算法的骨架,具体实现延迟到子类。 应用:Comparable接口的CompareTo方法 钩子:是一种声明在抽象类中的方法,通常为空只会返回true,作为条件控制影响算法流程。 二、UML图 三、代码 Beverage.java public ab Read More