自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(150)
  • 资源 (2)
  • 收藏
  • 关注

原创 vim常用的快捷命令

个人使用心得,绝对最常用vim的命令。最有用的命令模式切换esc ---命令模式shift+: ---命令行模式i ---insert 模式I--insert模式,在行首插入A---insert模式,在行末插入o--也行,I 也行 ,只是i应该是最常用的。废话~保存退出shift+zz (ZZ) --快速保存退出命令行模式:wq快速行首定...

2020-04-23 09:58:38 169

原创 Linux 常用命令记录

useradd -选项 用户名-m 自动创建这个用户的主目录userdel -r wangzhipan 删除用户usermod 修改用户su 切换用户exit 退出到原来的用户hostname 主机设置与查看passwd -l wangzhipan锁定用户passwd wangzhipan 设置密码...

2020-04-21 12:09:18 176

原创 spring问题记录

三月 31, 2020 10:24:22 上午 org.springframework.context.support.AbstractApplicationContext refresh警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework...

2020-03-31 10:56:59 241

原创 javascript问题记录

以下代码的输出顺序?function get(){ var name = 'global'; //此处的bind()没有改变this的指向,this依然是全局对象Window //所以window就是thisvar obj = { name: 'local', foo: function(){ this.name = 'foo'; ...

2020-03-23 09:45:59 121 1

原创 angular问题汇总

1.app.module.ts 基本理解? 模块基本定义://引入核心模块import { BrowserModule } from '@angular/platform-browser';import { NgModule } from '@angular/core';//引入其他的自定义模块import { AppComponent } from './app.componen...

2020-03-17 11:18:33 191

原创 Inet6AddressImpl.lookupAllHostAddr异常

使用第三方sdk接口时出现以下错误java.net.Inet6AddressImpl.lookupAllHostAddr应该是获取本机ip的逻辑的时候根据hostname获取不到导致错误。配置了就好了。解决办法:vim /etc/hosts文件绑定主机名和ip即可查看主机命令:hostname,ip:ifconfig...

2021-08-25 16:46:31 2949

原创 mysql-COLLATE

COLLATE 核对,校对ENGINE=InnoDB AUTO_INCREMENT=23 DEFAULT CHARSET=utf8mb4mysql建表指定:COLLATE=utf8mb4_0900_ai_ci用于排序的规则。引用自:https://www.jianshu.com/p/f8707b8461d3

2021-04-07 18:01:05 200

原创 Idea使用问题 Failed to save settings. Please restart IntelliJ IDEA

问题描述idea使用的时候突然。在每次编辑文件之后,ctril+s 保存文件的时候报错14:23 Unable to save settings: Failed to save settings. Please restart IntelliJ IDEA问题解决网上查说是插件插件identifier highlighter 导致的。但是我卸载之后重启。还是没解决。莫名其妙突然出现。我也没做啥配置,怪操作。突然想到运行了一个后端应用。日志一直在刷。果然看了下磁盘占用情况。E盘被占满。删了日志

2021-03-23 14:31:10 552

原创 Vue 问题记录

问题描述vue跳转页面报错,直接导致页面崩溃。百度了下找到原因了vue.esm.js?a026:628 [Vue warn]: Error in nextTick: “TypeError: Cannot read property ‘ob’ of undefined”warn @ vue.esm.js?a026:628logError @ vue.esm.js?a026:1893globalHandleError @ vue.esm.js?a026:1888handleError @ vue.e

2021-03-23 11:43:12 371

原创 中介者模式17

概述基本介绍中介者模式(Mediator Pattern)。用一个中介对象来封装一系列的对象交互。中介者使各个对象直之间不需要显式相互引用,从而使其耦合松散,而且可以独立地改变它们的交互。中介者模式属于行为型模式。有利于代码维护比如MVC模式。Controller 就是中介者角色原理类图案例智能家庭项目:智能家庭包括各种设备,闹钟,咖啡机,电视机,窗帘等主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起->咖啡机开始做咖啡->窗帘自

2021-03-13 08:39:57 57

原创 观察者模式16

概述观察者模式类似订牛奶:1)奶站/气象局:Object2)用户/第三方网站:ObserverSubject:registerObserver() 注册removeObserver() 移除notifyObservers() 通知所有注册的用户,根据不同需求,可以更新数据。让用户来取,也可能是实施推送。Object: 接收输入update()对象之间多对一依赖的一种设计方案。被依赖的对象位subject。依赖的对象位observer。Subject通知Observer变化。比如奶站是Su

2021-03-13 07:26:50 52

原创 迭代器模式

概述Iterator Pattern 行为型模式如果集合元素是用不同的方式实现的,有数组,还有java的集合类或者还有其他方式,当客户端需要遍历这些集合元素的时候就要使用多种遍历方式。会暴露元素的内部结构,可以考虑使用迭代器模式解决。迭代器模式提供一种遍历集合元素的统一接口,用一致的方法遍历集合元素,不需要知道集合对象的底层表示。原理类图Iterator :迭代器接口ConcreteIterator: 迭代器实现类,对于不同类型集合,不同的实现类Aggregate: 统一聚合接口。返回一个

2021-03-11 22:22:42 48

原创 String replaceAll()踩过的坑。

问题描述想做一个模板动态替换的功能于subTime已转发给{subTime}已转发给subTime已转发给{receiverOrgName}receiverName({receiverName}(receiverName({receiver})${} 中为动态替换变量看起来用String的replaceAll()可以轻松搞定。然而还是太年轻。由于#,$,{都是特殊字符。一开始没有转义,就会报如下的异常java.util.regex.PatternSyntaxException: Illega

2021-03-10 23:24:09 502

原创 设计模式学习之十四-访问者模式

概述需求将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价。评价有不同的种类(成功,失败)。传统方案方案扩展性差,当新增评价时,Man和Woman都需要改动。原理类图访问者模式基本Vistor Pattern 封装一些作用于某种数据结构的各元素的操作,他可以在不改变数据结构的前提下定义作用于这些元素的新的操作。主要将数据结构于数据操作分离,解决数据结构和操作耦合性问题访问者模式的基本工作原则:在被访问的类里面加一个对外提供接待访问者的接口访问者模式

2021-03-09 22:49:43 77

原创 设计模式学习之十三-命令模式

概述需求一套智能家电,电灯,风扇,冰箱,洗衣机不同厂家的分别需要不同app控制希望一个app控制所有的家电需求实现原理图简单代码实现https://gitee.com/zhipanwang/code4java/tree/master/design/src/main/java/com/wang/command基本Command Pattern 。软件设计中,我们经常需要想某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个。命令模式可以实现请求发送者和请求

2021-03-03 23:41:37 126 1

原创 设计模式学习之十二-模板方法模式

概述豆浆制作问题制作豆浆的流程,选材–添加配料—浸泡—豆浆机中打碎通过不同的配料。可以制作不同口味的豆浆选材。浸泡,和打碎这几个步骤对于制作每种口味的豆浆都是一样的通过模板方法模式完成基本介绍模板方法模式(Template Method Pattern) 又叫模板模式。在一个抽象类公开定义执行它的方法的模板。它的子类可以按需重写方法实现。但调用将以抽象类中定义的方式进行。模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构,就可以重定义该算

2021-03-03 22:04:08 95 1

原创 设计模式学习之十一-代理模式

简述代理模式(Proxy)代理模式:为一个目标对象提供一个替身,以控制对这个对象得访问。即通过代理对象访问目标对象。这样做得好处:可以在目标对象实现得基础上增加额外得功能操作。即扩展目标对象得功能。被代理得对象可以是远程对象,创建开销大得对象或需要安全控制得对象。代理模式有:静态代理,动态代理(JDK代理),Cglib代理(可以在内存中动态创建对象,而不需要实现接口)代理模式示意图静态代理静态代理在使用时,需要定义接口或者父类,被代理对象(目标对象)与代理对象一起实现相同的接口或者继承相

2021-03-03 20:33:52 63

原创 Mysql实现create_time,update_time自动填写

表里面的创建时间create_time,更新时间modify_time逻辑每次代码里面设值比较麻烦,利用数据库自带逻辑可以简单实现该需求:ALTER TABLE alarm_situation MODIFY COLUMN create_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’;ALTER TABLE alarm_situation MODIFY COLUMN modify_time TIMESTAMP NOT NU

2021-02-24 15:56:08 444

原创 设计模式学习之十-享元模式

1 概述Flyweight Pattern 蝇量模式 运用共享技术有效地支持大量细粒度得对象常用于系统底层开发,解决系统得性能问题,例如 数据库连接池,里面都是创建好得连接对象,在这些连接对象有我们需要得则直接拿过来用,避免重复创建享元模式能够解决重复对象得内存浪费得问题,当系统中有大量相似对象,需要缓冲池时,不需要总是创建对象,可以从缓冲池里面拿。享元模式经典应用场景池技术。String常量池,数据库连接池,缓冲池。2 需求小型外包项目,给客户A做一个产品展示网站,客户A得朋友感觉效

2021-02-09 19:48:49 113 2

原创 设计模式学习之九-外观模式

1 概述Facade 外观模式 ,也叫过程模式,外观模式为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更容易使用。外观模式通过定义一个一致的接口,用以屏蔽内部子系统的细节,使得调用端只需要跟这个接口发生调用,而无需关心这个子系统得内部细节。2 需求3 原理类图外观类:为调用端提供统一得调用接口。外观类知道哪些子系统负责处理请求,从而将调用端得请求代理给适当得系统对象。调用者,外观接口得调用者。子系统得集合:处理Facade对象指派得任务。功能得实际提

2021-02-09 18:30:52 89

原创 设计模式学习之九-组合模式

1概述Composite Pattern组合模式,又叫部分整体模式。它创建了对象组的树形结构2 需求要在一个页面中展示出学校的院系组成,一个学校有多个系。例如:-----清华大学-----计算机系计算机科学与技术软件工程网络工程信息工程学院通信工程信息工程原理类图3 原理类图Component:这是组合中对象声明接口,在适当情况下,实现所有类共有的接口默认行为用于访问和管理Component子部件,Component可以是抽象类或者接口Leaf:在组合中表示叶子节点,叶子

2021-02-08 21:53:33 59

原创 设计模式学习之八-装饰者模式

1概述1.1 工作原理动态的将新功能附加到对象上,在对象功能扩展方面,他比继承更有弹性,装饰着模式体现了ocp就像打包一个快递:主体:被装饰者包装:2 需求星巴克咖啡订单项目咖啡种类/单品咖啡:意大利浓咖啡,美式咖啡,无因咖啡调料:Milk,Soy,Chocolate要求在扩展新的咖啡种类时,具有良好的扩展性,改动方便,维护方便使用OO计算不同咖啡的费用,客户可以点单品咖啡,也可以单品咖啡+调料组合3...

2021-02-08 20:12:57 75

原创 设计模式学习之七-桥接模式

概述原理

2021-02-06 10:15:35 58

原创 设计模式学习之六-适配器模式

概述Adapter Pattern适配器模式将某个类得接口转换为客户端期望得另一个接口表示,主要得目的是兼容性,让原本因接口不匹配不能一起工作得两个类可以协同工作。别名为Wrapper。属于结构型模式,就像现实中得转换器。适配器主要分为3类:类适配器模式,对象适配器模式,接口适配器模式工作原理将一个类得接口转换成另一种接口。让原本不兼容得类可以兼容从用户得角度看不到被适配器,是解耦得用户调用适配器转化出来得目标接口方法,适配器再调用被适配者得相关接口方法。用户收到反馈结果,感觉只是和目标

2021-02-05 15:02:42 56

原创 设计模式学习之五-建造者模式

概述Builder Pattern 又叫生成器模式将复杂对象的建造过程抽象出来,使这个抽象的不同实现方式可以构造出不同表现得对象。建造者模式是一步一步创建一个复杂得对象,它允许用户只通过指定复杂对象得类型和内容就可以构建它们,用户不需要直到内部得具体构建细节。四个核心角色:Product 产品角色Builder 建造抽象ConcreteBuilder 建造者Director 指挥者1 需求盖房子:打桩,砌墙,封顶房子分为普通房,高楼,别墅传统方式:继承方式,client

2021-02-05 12:31:58 76

原创 设计模式学习之四-原型模式

概述Java中Object类是所有类的根类,Object有一个clone()方法。该方法可以将一个java对象复制一份,但是需要实现接口Cloneable,该接口表示该类能够复制且具有复制的能力== 原型模式用原型实例指定创建对象的种类,并且通过拷贝这些原型,创建新的对象。案例一只羊tom,姓名:tom年龄:1颜色:白色编写程序创建和tom羊属性完全相同的10只羊。—利用原型模式实现。模式类图Prototype:原型类,声明一个克隆自己的接口ConcretePrototype:具体

2021-02-05 10:47:03 65

原创 设计模式学习之三抽象工厂模式

概念定义一个interface用于创建相关或有依赖关系的对象族。而无需指明具体的类。抽象工厂模式可以将简单工厂模式和工厂方法模式进行整合。模式类图用一个接口定义创建对象的方法。让工厂类实现该接口。当使用者需要用对象时,聚合该接口即可。...

2021-02-04 22:43:44 54

原创 设计模式学习之二-工厂方法模式

概述定义一个创建对象的抽象方法,由子类决定要实例化的类,工厂方法模式将对象的实例化推迟到子类。类图说明把createPizza()方法抽象。下沉到子类去实现,关联需要使用的对象。

2021-02-04 18:22:19 50

原创 设计模式学习之一-简单工厂模式

概述简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。定义了一个创建对象的类,由这个类来封装实例化对象的行为。需要大量创建某类或者某批对象使用工厂模式。类图使用者(OrderBean)使用的对象(Bean)不直接创建,而是通过工厂类(SimpleFactory)获得,这样在后续(Bean)再扩展就更方便,只需要修改工厂类。使用方直接通过工厂对象获取到实例即可使用。...

2021-02-04 17:52:46 65

原创 设计模式学习之-单例模式

概念采取一定的方式保证整个软件系统中,保证某一个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。1饿汉式1.1饿汉式-静态常量) 代码package com.wang.design.singleton;import java.io.FileInputStream;/** * 饿汉式(静态变量) * 有点:1.简单,没有线程同步问题 * 缺点:类装载时就实例化,容易造成内存浪费 * * @author WangZhiPan * @date 2021/2/4 12:0

2021-02-04 13:00:46 59 1

原创 01设计模式学习之-概述

本质提高软件维护性,通用性,扩展性,分类1. 创建型模式:单例模式,抽象工厂模式,原型模式,建造者模式,工厂模式2. 结构型模式:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式3. 行为型模式:模板方法模式,命令模式,访问者模式,迭代器模式,中介者模式,备忘率模式,解释器模式,状态模式,策略模式...

2021-02-04 11:55:00 43

原创 设计模式七大原则

1.设计模式的目的1代码可重用性2可读性3 可扩展4可靠性5 高内聚,低耦合2.设计模式七大原则单一职责接口隔离依赖倒置里氏替换开闭原则迪米特法则合成复用原则2.1单一职责原则一个类只负责一项职责,降低类的复杂度。提高可读性。降低变更带来的风险。2.2 接口隔离原则Interface Segregation Principle客户端不应该依赖它不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。2.3依赖倒置高层模块不应该依赖低层模块抽象不应该依赖细

2021-02-04 09:42:42 55

原创 JSR303--异常处理

自定义校验1.编写一个自定义校验注解2.分组异常处理1 利用接口标识需要校验的分组package com.wang.common.valid;/** * 分组校验标志接口,用于标识新增时需要校验 * @author zhipan.wang * */public interface AddGroup {}2 字段添加groups属性标识接收校验的分组@Null(message = "新增不能传品牌id",groups = AddGroup.cla

2020-07-07 11:19:51 626

原创 @Value的使用

what?一个注解,可以通过配置为系统中变量注入值。how?在对象属性使用@Value注解获取配置值package mabatispluslearn;import mabatispluslearn.com.wang.mp.config.UserConfigProperties;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Value;import..

2020-07-03 14:40:37 411 1

原创 注解@ConfigurationProperties使用方法

what?@ConfigurationProperties 是一个配置注解,在spring boot中大量使用。该注解可以使用在类和方法上面。how?1 配置在类上1.1 配置类编写需要在容器中实例化使用,所以要加注解@Componentpackage mabatispluslearn.com.wang.mp.config;import org.springframework.boot.context.properties.ConfigurationPropertie..

2020-07-03 11:28:24 2451

原创 单点登录

session 跨域解决??跨域?ip 端口 域名 主机名 不同域有独立完整的访问路径的功能集合称为一个域jwt json web token跨域身份验证解决方案BCR Bcrypt 加密算法每次加密结果不一样...

2020-05-24 22:36:04 88

原创 element-ui 是基本的页面结构

标签el-container 整个页面框架el-aside 构建左侧菜单 <el-aside width="200px" style="background-color: rgb(238, 241, 246)"> <!--default-openeds: 默认打开--> <!--default-active:默认选中--> <el-menu :default-openeds="['1', '..

2020-05-23 16:08:02 616

原创 商城项目

virtual box 安装6.0vagrant 安装 2.2.9vagrant init centos/7 初始化一个虚拟环境vagrant up 启动虚拟容器报错No usable default provider could be found for your system.解决办法:virtualbox6.1和vagrant2.2.9不兼容,换成6.0版本。...

2020-05-19 07:19:49 905

原创 zookeeper

zookeeper服务器部署下载https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.g 解压tar -xvf zookeeper-3.4.14.tar.gz 修改配置/home/zhipan/zookeeper-3.4.14/conf/ 修改配置mv zoo_sample.cfg zoo.cfg 修改一下dataDir 启动zookeeper/bin...

2020-05-17 20:19:29 115

原创 NIO和Netty

BIO 阻塞式 流 数组NIO 非阻塞式 Channel Buffer 1.4之后文件IO缓冲区 Buffer非阻塞的好处,一个线程就可以应付多个客户端,核心API 4个Selector选择器SelectionKey 注册关系ServerSocketChannelSocketChannel 网络io通道...

2020-05-17 20:19:00 84

mysql中文帮助文档

mysql中文帮助文档,使用mysql的时候可以查看对应的语法。

2017-09-28

算法导论

算法导论 是一本 好书 请大家 认真 阅读 要加油哦

2015-11-04

空空如也

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

TA关注的人

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