设计模式七大原则

单一职责原则 一个类应该只负责一项职责,一个方法应该只负责一件事 接口隔离原则 一个类对另外一个类的依赖应当是建立在最小的接口上的 依赖倒转原则 对抽象进行编程,不要对实现进行编程 ...

2020/10/26 11:11
42
设计模式

设计模式 1.设计模式简介 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这...

抽象工厂模式

抽象工厂模式(Abstract Factory Pattern)提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类,用于产品族的构建,是指当有多个抽象产品时使用的一种工厂模式。 抽象工厂...

2020/10/26 11:03
20
建造者模式

建造者模式(Builder Pattern)又叫生成器模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 应用场景: 当创建复杂对象的算法应该独立于该对象的组成...

2020/10/26 11:02
22
简单工厂模式

简单工厂模式:定义一个创建产品对象的工厂接口,将产品对象的实际创建工作推迟到具体子工厂类当中。GOF 23种设计模式中只有「工厂方法模式」与「抽象工厂模式」。简单工厂模式可以看为工厂方...

2020/10/26 11:00
23
工厂方法模式

工厂方法模式:定义一个创建对象的接口,但让实现这个接口的类来决定实例化哪个类,也就是说工厂方法模式让实例化推迟到子类 应用场景: 客户只知道创建产品的工厂名,而不知道具体的产品名 ...

2020/10/26 10:59
10
原型模式

原型模式:使用原型实例指定创建对象的种类,并且通过拷贝原型对象创建新的对象。 应用场景: 资源优化场景。 类初始化需要消化非常多的资源,这个资源包括数据、硬件资源等。 性能和安全要求...

2020/10/26 10:58
24
JDK8新特性之接口新增默认方法和静态方法

JDK8之前,interface中可以定义常量和抽象方法,访问修饰符是public。 public interface A { /** a1和a2写法是等价的 / public static final int a1 = 0; int a2 = 0; /* methodA1和methodA...

2020/10/19 16:46
93
JDK8新特性之方法引用

方法引用是一个更加紧凑,易读的Lambda表达式,其中方法引用的操作符是双冒号"::",有时候,lambda表达式的主体仅包含一个表达式,且该表达式仅调用了一个已经存在的方法,而不做任何其它事,...

jdk
2020/10/19 16:45
14
JDK8新特性之lambda表达式

Lambda 表达式,允许把函数作为一个方法的参数(函数作为参数传递进方法中)进行传递。 语法: (parameters) -> expression 或 (parameters) -> { statements; } 以下是lambda表达式的重要特...

2020/10/19 16:43
54
JDK各版本语言新特性

JDK5 Generics(泛型) Enhanced for Loop(增强for循环) Autoboxing/Unboxing(自动拆装箱) Typesafe Enums(枚举) Varargs(可变参数) Static Import(静态导入) Metadata (Annotations)(注解) J...

2020/10/19 16:40
43
nginx问题集锦

一、Nginx单机问题 Nginx启动成功后访问出现403 问题原因:启动Nginx时指定了启动用户,导致其它用户访问没有权限。 解决方案:修改配置文件中#user nobody;为user root;再重加载即可。 二、...

2020/04/27 09:51
133
MyBatis Generator生成Oracle数据库对应实体类时无法获取注释问题

  最近在利用mybatis generator生成Oracle数据库对应的实体类时发现一个问题,特此记录下。   因为项目使用到了swagger2,所以想在生成实体类时通过表注释和字段注释生成对应的@ApiMode和...

2019/12/19 14:08
1.6K
单例模式

单例模式:确保一个类只有一个实例,并提供一个全局访问点(head first设计模式)。 应用场景:对象需要被共同频繁使用的地方,如多个模块使用同一个数据源连接对象等等。 单例模式的组件: ...

2019/12/17 16:48
96
nio注意事项

JDK7原生API中: SocketChannel.read()方法无法设置超时时间,如果客户端socket没关的话,该方法会一直等待,直到客户端socket关闭。 如果有2个客户端向服务器端发送消息时,客户端A发了消息...

2019/12/17 15:34
70
MySQL日志

一、MySQL日志类型简介 在MySQL中,主要有5种日志文件: 日志类型 写入日志的信息 错误日志(Error log) 启动,运行或停止mysqld遇到的问题 通用查询日志(General query log) 建立的客户端...

2019/11/07 09:33
134
wm_concat 出现clob

wm_concat(column)结果为的解决办法 某个column的逻辑是如有多个则用英文逗号隔开; 上网查询资料,是用oracle自带的wm_concat()函数; 但select出来的结果是; 然后再百度,解决方法是to_...

2019/11/06 09:11
1K
ora-12592 TNS:包错误

导入数据发生 ora-12592 TNS:包错误, 网上搜寻资料发现原因是导入时间长导致防火墙触发了。 解决方法: 1.关掉防火墙尝试导入 2.如果是用本地客户端导入可以尝试到服务器上导入 3.在数据库服...

2019/11/05 16:56
3.5K
mysql安装之多实例多配置文件安装

一、多实例安装简介 所谓多实例安装其实是指在一台机器上开启多个不同的mysql服务端口(3306,3307),运行多个mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供各自的服...

2019/10/31 14:48
148

没有更多内容

加载失败,请刷新页面