自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 JavaScript 学习

认识:轻量级脚本语言,所谓“脚本语言”就是没有开发操作系统的能力,只是用来编写控制大型应用程序(如浏览器)的脚本;嵌入式语言,核心语法不多,多是数学逻辑和运算,很多功能API是由宿主环境提供的;语言版本:ECMAScript 5 => 基础,ECMAScript 6 => 下一代JavaScript,很多新特性。基本语法:1.变量提升(hoisting):意思是...

2019-05-27 23:15:52 136

原创 MyBatis Normal Operations

依赖<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version></dependency&...

2019-05-13 17:45:17 210

原创 微服务之服务调用

RPCRPC即远程过程调用,允许调用远程方法时能像调用本地方法一样。在调用本地方法时,程序处于同一个进程,同样的内存空间,而远程调用时则不一样,为此,RPC框架则需要解决以下几个问题:寻址:服务提供者与服务消费者通过在服务注册中心注册服务与订阅服务; 序列化与反序列化:网络传输时数据为二进制流; 网络通信:Java提供的IO流操作即可完成网络通信,但较为复杂,Netty是一个IO通信...

2019-04-25 17:39:24 602

原创 初入Linux

基本知识Linux中以点号开头的文件是隐藏文件;其实隐藏文件的作用不是为了藏起来不让用户找到,而是告诉用户这些文件是重要文件,不要随意改动。命令格式[root@localhost ~]# 命令[选项][参数]选项:用于调整命令的功能,"-"代表短格式,"--"代表长格式,一般两者会一一对应,也有特例如ls -l没有对应的长格式;参数:用于指定操作的对象。基本命令ls:-...

2019-04-25 17:37:30 160

原创 Linux小问题

虚拟机启动失败,提示Intel VT-x 处于禁用状态......解决方案:进入BIOS设置,启用Intel Virtual Technology具体步骤:电脑设置-->更新和安全-->恢复-->高级启动-立即重新启动--> 疑难解答-->高级选项-->UEFI固件设置-->重启-->进入BIOS--&gt...

2019-04-20 17:02:25 129

原创 观察者模式

概述定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。示例代码//抽象通知者abstract class Subject{ private List<Observer> observers = new ArrayList<>(); publi...

2019-04-14 14:10:26 142

原创 建造者模式

概述将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。将构建一个复杂对象所需的必要过程规定到一个Builder接口之中,由不同的实现类实现即“同样构建过程创建不同表示”。最后,由一个指挥者Director指挥建造过程。示例代码class Product{ private List<String> parts = new Arra...

2019-04-13 15:26:10 121

原创 外观模式

概述为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。比如在维护一个遗留的大型系统时,这个系统已经非常难以维护和扩展了,但包含了非常重要的功能,新的需求开发必须依赖这些功能。这时,就可以为新系统开发一个Facade类,让新系统与Facade交互,Facade与遗留代码交互所有复杂的工作,开发人员分两个小组分别进行。示例代码...

2019-04-13 14:59:45 123

原创 模板方法模式

概述定义一个操作中算法的骨架,而将一些步骤延迟到子类。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板方法模式其实就是提供了一个很好的代码复用平台。当子类实现中出现不变行为和可变行为的混合时,不变行为则会在子类中大量重复,这时,就可以将不变行为提取到父类。UML图abstract class AbstractClass{ abstrac...

2019-04-13 10:59:37 127

原创 原型模式

概述通过拷贝原型创建新的对象。在Java中有一个Cloneable接口,只有一个clone方法,实现它即可。举例生成简历clone方法会抛出CloneNotSupportedException,为了代码简单省略。class Resume implements Cloneable{ private String name; private int s...

2019-04-12 12:35:58 164

原创 工厂方法模式

概述定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。举例同样是计算器的例子,我们来看看工厂方法模式的实现。interface IFactory{ Operation createOperation();}class FactoryAdd implements IFactory{ public Operati...

2019-04-12 11:19:47 180

原创 动态代理

静态代理首先看看一般的代理模式即静态代理。我们直接来看代码。public interface HelloService{ void sayHello();}/** * 被代理类 */public class HelloServiceImpl implements HelloService{ public void sayHello(){ System....

2019-04-11 15:29:07 285

原创 代理模式

概述为对象提供一种代理以控制对这个对象的访问。UML图这种代理属于静态代理,动态代理详见链接

2019-04-11 15:28:00 91

原创 装饰模式

概述动态地为原有类添加新的功能。而不是以继承的方式来扩展,避免不断增加子类;不是以增加新字段、新方法的方式扩展新功能,将核心功能与装饰功能区分。举例给人穿衣服涉及的类:Person类interface Person{ public void show();}Male类class Male implements Person{ @Ov...

2019-04-11 14:20:57 358

原创 Java设计原则

单一职责原则就一个类而言,有且仅有一个引起它变化的原因。开闭原则对于软件实体(类、模块、函数等)而言,对扩展开放,对修改封闭。即面对需求,对于程序的改动应该是增加新代码,而不是修改现有代码。依赖倒转原则抽象不应该依赖细节,细节应该依赖抽象,即针对接口变成,不要对实现变成;高层模块不应该依赖低层模块,两者都应该依赖抽象。比如我们把访问具体数据库作为一个低层...

2019-04-10 12:56:15 141

原创 策略模式

概述结构与简单工厂模式相似,只是Factory换成了Context,简单工厂模式注重的是对象的创建,策略模式注重的是行为的变化。Context类持有一个父类引用,传入不同的行为实例,则执行不同的行为。在简单工厂模式中,当需要扩展或变更时,都需要改动工厂类,代码需要重新编译部署。举例不同查找算法涉及的类:Context类、查找父类、二分查找类、顺序查找类查找父类/接口...

2019-04-10 10:39:20 114

原创 简单工厂模式

概述用户输入特定指令,由一个工厂类根据指令生成不同类的实例(提供一个静态方法),这些类可继承一个父类。这样,返回的是父类引用,生成的是特定的实现类,实现了细节的隐藏。举例简易计算器涉及的类:工厂类、运算父类、运算加类、运算减类运算父类class Operation{ private double number1; private double numb...

2019-04-09 18:14:12 126

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除