自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 error : The bean ‘XXX.FeignClientSpecification‘ could not be registered

这是由于你的模块是复制出来的 找到对应的模块 把以iml结尾的文件删除即可解决

2021-04-10 11:29:48 463 1

原创 error: svn:E155037

打开项目所在文件夹–>打开cmd–>运行 svn cleanup然后重新执行即可

2021-03-25 09:45:06 341

原创 设计者模式(四)----命令模式

简介 :把一套请求封装为一个对象优点 : 解耦行为请求和行为实现 <一般情况下行为请求和行为实现都是一种紧耦合关系>缺点 : 当命令增加时 在项目中会有很多命令类 直观性不高举例 :现在我们要实现一个遥控器 遥控电灯开关首先 我们需要一个电灯类 对象//这里做一个简单实现public class Light { public void on(){ System.out.println("开灯"); } pub

2021-01-07 14:25:23 186

原创 设计者模式(三)----装饰者模式

介绍 :动态扩展对象功能 相比继承而言更加灵活 可以替代继承 其装饰者是依赖于被装饰者而存在的注意装饰者和被装饰者实现一个共同的接口 目的是为了保证其类型一致优点 : 解耦了装饰者和被装饰者的关系 易扩展类型功能缺点 : 拥有非常多的小类<被装饰者> 增加系统复杂度以一个咖啡馆为例在咖啡馆有牛奶和咖啡2种饮料<可以被看成是被装饰者> 还有配料可以加糖 蜂蜜 柠檬如此 有的客户需要咖啡加糖 有的需要牛奶加蜂蜜加糖等等 如果使用

2021-01-06 14:18:11 100

原创 设计者模式(二)----观察者模式

介绍 :主题和观察者是一对多的关系 建立一套触发机制 当主题数据发生改变时 通知观察者数据已更新缺点 : 1.当观察者多时 通知到所有观察者的时间会变长 2.观察者并不知道主题是如何变化的 仅仅知道主题发送了改变类图如下这里我们以报社为例 报社是主题 订阅报纸的是观察者我们如果需要报纸 就需要到报社去订阅 此时在代码里 需要一个注册方法把观察者注册进去 当我们订阅一段时间后突然不想看了 就需要告诉报社 以后不要继续给我送报纸了 那么使用代码实现就是

2021-01-05 10:01:22 115

原创 设计者模式(一)----策略模式

介绍 :在一个项目中存在大量相似的类 区别在于其具体实现 此时 可以使用策略模式来吧这些类封装为一个策略<或者说是算法> 以便进行灵活调用优点 : 把程序中需要修改的代码单独分离 提高的程序扩展性缺点 : 算法类会随着程序的扩展而越来越多 并且所有算法策略都需要对外暴露 以便调用对应算法接下来使用一个例子来进行详细说明 :我们现在有一些鸭子 他们会游泳 会叫 … … 接下来我们使用代码进行实现 如下图如上这样定义超类实现基本属性 其他不同

2021-01-04 14:37:29 153 3

原创 error : invalid comparison: java.util.Date and java.lang.String

date类型传参报错如上原因是在mybatis的xml文件里进行如下对比 把date类型作为字符串进行比较了 去掉即可

2020-12-08 14:26:28 89

原创 数据结构(五)----图

1.定义顶点 : 如上图中每个元素都是一个顶点 如 A B C D E F边 : 顶点到顶点直接建立的连接关系叫做边 如 AB AD AC等等度 : 每个顶点有多少条边就是该顶点的度 如A的度为3 C的度为3 B的度为2等等2.图的分类生活社交网其实就是一个图结构比如微信 QQ 微博 等等像微信/QQ中的每个用户就是顶点 而用户之间添加好友后 这个添加关系就是边 用户添加的好友个数就是度有向图和无向图在微博中的图和微信 qq有些区别 比如用户A.

2020-11-27 15:02:47 132

原创 堆的应用----堆排序

堆排序 : 核心就是不断查询最大的元素 然后放到数组尾部即可把数组堆化(大顶堆) 此时根节点就是最大的元素把根节点值和数组最后一个元素进行替换 此时最大值就在末尾(之后进行替换时需要倒叙挨个往前替换)对于替换后的堆 已经不满足大顶堆的定义 对其再次堆化 (注意 : 这里堆化时不包含已经替换到数组末尾的元素)堆化完成后 根节点是最大元素 然后循环执行上面的步骤 直到最后一个元素看如下例子 目前是一个已经堆化数组替换首尾元素由于此时已经不满足堆的定义 再..

2020-11-26 13:37:04 154

原创 数据结构(四)----堆

1.定义堆是一个完全二叉树堆中的每一个节点值必须大于等于(大顶堆)或者小于等于(小顶堆)其子节点的值2.堆的存储结构之前我们知道完全二叉树可以对应连续存储在数组中只会浪费掉下标为0的位置 如下图 (而如果不能满足该条件的就不是完全二叉树)3.使用数组来实现堆基本方法public class Heap { private int[] date;//存储元素的数组 private int size; //数组长度 private int count;//已

2020-11-26 09:42:08 121

原创 List和Map一些常用实现类整合

1. List集合常用实现类1.1ArrayListArrayList : 底层使用数组实现初始容量为10 当数组满后 会扩容为原来数组的1.5倍大小数组访问时 根据元素下标可以快速定位到具体的元素 所以查询效率很高添加/删除直接添加到数组末尾/删除 : 不会进行数据拷贝工作指定索引位置添加/删除 : 需要把指定位置到数组最后一个元素的所有元素集体向后移动一位 即拷贝数组(且 其索引位置越靠前 则其效率越低)使用无参构造创建对象后 不会马上实例化 而是在添加第一个元素的

2020-11-25 10:59:04 269

原创 红黑树的应用----TreeMap

红黑树是一种类似于平衡二叉树的结构特点 :根结点是黑的。每个节点非黑即红如果节点为红 那么其子节点肯定是黑色(注意 : 没有2个相邻的红节点)叶节点下面有2个null的黑色子节点从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。public class TreeMap<K,V> extends AbstractMap<K,V> implements NavigableMap<K,V>, Cloneable, java.io.Serial.

2020-11-24 09:44:55 262 1

原创 数据结构(三)----平衡二叉树

平衡二叉树 又叫AVL树1. 性质 :可以是空树任意一个节点的左子树和右子树都是平衡二叉树 且高度之差的绝对值 <=12.失衡的4种情况在结点的左子树的左子树插入元素,LL 插入;在结点的左子树的右子树插入元素,LR 插入;在结点的右子树的左子树插入元素,RL 插入;在结点的右子树的右子树插入元素,RR 插入;3.解决方法 代码实现定义节点类和一些基本方法public class AVLTree { //当前树 private AvlNo.

2020-11-23 10:37:47 276 2

原创 散列表 + 双向链表应用----LinkedHashMap

LinkedHashMap是HashMap的一个子类 其在HashMap的基础上添加了一个双向链表来保证元素的插入和取出顺序一致性那么LinkedHashMap是如何通过双向链表来保证元素的插入有序性的 ?LinkedHashMap在添加数据时 把元素添加到散列表的基础之上 还会把元素插入到维护的双向链表的尾部 (如此 在遍历LinkedHashMap时 直接遍历双向链表即可)而HashMap在遍历时 会遍历一整个散列表 所以HashMap的遍历速度和其数组的长度有关系 而Link.

2020-11-18 16:17:22 307

原创 散列表和二叉树的应用----HashMap

首先注意这里HashMap是散列表+二叉树的一个实例应用 在看次之前 建议先了解一下散列表和二叉树这两种数据结构 方便了解HahsMap的实现之前散列表实现首先需要一个哈希函数来获取哈希值来对应数组下标存储元素// 这个方法就是hashMap的哈希函数 static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h &g..

2020-11-18 11:15:38 237

原创 数据结构(二)----二叉树

1.相关概念节点的度 : 一个节点含有的子节点的个数叫做该节点的度 例如 上图 A节点的度为 6叶节点或终端节点 : 度为0的节点叫叶节点 例如 B C H I … …非终端节点或分支节点 : 度不为0的节点 例如 D E F G … …父节点或双亲节点 : 若一个节点含有子节点 则该节点是其子节点的父节点 例如 : .

2020-11-17 17:51:52 597

原创 数据结构(一)----散列表

散列表 : 就是把key值通过哈希函数转换为一个整数值 然后把该值通过散列函数的设计方法得到一个值作为数组下标 把value值存储该下标对应的位置散列函数 :要求散列函数计算得到的散列值必须是大于等于 0 的正整数,因为 hash 值需要作为数组的下标如果 key1key2 ,那么经过 hash 后得到的哈希值也必相同即:hash(key1) hash(key2)如果 key1 != key2 ,那么经过 hash 后得到的哈希值也必不相同即:hash(key1) != hash(key2)特点

2020-11-17 17:46:42 302

原创 链表的应用----LinkedList

linkedList底层是一个双向链表链表是一个一个节点连接 不需要连续的内存空间特点是查询慢 增加/删除快双向链表的每个节点都包含一个指向上一个节点的前指针和指向下一个节点的后指针(所以其所占用的内存空间相对数组也比较大)1.节点定义(核心) private static class Node<E> { E item; Node<E> next; Node<E> prev; N.

2020-11-16 14:34:52 53

原创 数组的应用----ArrayList

1.构造方法 public ArrayList(int initialCapacity) { if (initialCapacity > 0) { this.elementData = new Object[initialCapacity]; } else if (initialCapacity == 0) { this.elementData = EMPTY_ELEMENTDATA; } else

2020-11-16 09:58:35 76

原创 算法(二) ---- 二分查找法

/** * TODO : 二分查找法 : 针对有序数组 * 条件 : 在一组有序的数组中查询是否有该数数字 * 遍历整个数组 一一对应 也可以查询到 但是这样效率会随着数组长度增加而越来越慢 * 相对而言 我们可以使用二分查找法 会大大提高查询效率 <其有一个缺点 就是数组必须是有序的> * 1. 拆分数组 取中间的值比较大小 如此 查找区间就会缩小一半 * 2. 然后继续之前的操作 在属于的区间继续拆分查找 直到找到该元素 或者.

2020-10-30 16:32:03 87

原创 算法(一) ---- 递归和排序算法

冒泡排序 :1.1 依次遍历比较相邻两个因素的大小1.2 如果第一个元素大于第二个元素 则调换两个因素的位置插入排序 :2.1 将数组分为两个区间(已排序/未排序区间)2.2 默认数组第一个元素为已排序2.3 拿未排序区间的元素和已排序区间元素倒叙依次比较2.4 如果未排序区间的元素小于已排序元素 则调换两个元素的位置选择排序 :3.1 将数组分为两个区间(已排序/未排序区间)3.2 遍历未排序区间元素3.3 查找到最小的一个元素 放到已排序区间元素末尾归并排序 :4.1.

2020-10-29 17:54:47 306

原创 mybatis相关解析

1. mybatis相关1. mybatis缓存机制介绍 : MyBatis 的缓存分为一级缓存和二级缓存,一级缓存放在 session 里面,默认就有,二级缓存放在它的命名空间里,默认是不打开的,使用二级缓存属性类需要实现 Serializable 序列化接口(可用来保存对象的状态),可在它的映射文件中配置 ** ** 标签即可一级缓存 : 在一次数据库会话里 用户发起查询时 查询结果会缓存到mybatis的sql session里 该区域结果是一个map 当我们再次查询相同

2020-10-20 16:54:47 62

原创 springboot整合支付宝支付

核心代码如下 具体业务请查询git链接 https://gitee.com/loving_jie/mufan/tree/master/paymentpackage com.hj.payment.service.Impl;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.alipay.api.AlipayApiException;import com.alipay.api.d.

2020-10-15 13:40:07 3085 6

原创 springboot整合httpclient

1.配置jar包坐标 <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> </dependency>yaml配置如下http: maxTotal: 100 # 最

2020-10-13 16:28:15 675

原创 普通servlet项目创建与启动

一直使用springboot + maven项目 最近在看一些其他项目时发现很多东西都忘记了 所以复习一下 整理如下idea创建servlet项目初始结构2.创建servlet类添加一个jar包将jar包添加到项目创建servlet创建类如下这里注意使用了注解形势 所以不需要在web.xml里配置servlet映射了import org.apache.commons.lang3.RandomStringUtils;import org.apache.com.

2020-10-12 15:59:03 3025

原创 elasticsearch(八)----springboot之rest客户端整合

1. 添加jar包坐标<!-- es客户端 --> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version&gt

2020-10-12 14:59:09 215

原创 elasticsearch(七)----映射与结构化查询

映射前面我们创建的索引以及插入数据,都是由Elasticsearch进行自动判断类型,有些时候我们是需要进行明确字段类型的,否则,自动判断的类型和实际需求是不相符的。自动判断的规则如下:Elasticsearch中支持的类型如下:text和keyword的区别准确数据类型: keyword,直接被存储为了二进制,检索时我们直接匹配,不匹配就返回false 没有进行分词操作. 只能通过精确值搜索到。全文文本类型: text,这个的检索不是直接给出是否匹配,而是检索出相似度,进行分词操作

2020-09-30 14:13:50 315

原创 elasticsearch(六)----批量操作与分页

_bulk操作在Elasticsearch中,支持批量的插入、修改、删除操作,都是通过_bulk的api完成的。请求格式如下:{ action: { metadata }}\n{ request body }\n{ action: { metadata }}\n{ request body }\n...批量插入post http://localhost:9200/haoke/user/_bulk{"create":{"_index":"hao

2020-09-30 14:03:49 141

原创 elasticsearch(五)----数据搜索 高亮与聚合

普通搜索根据id搜索搜索全部 默认返回10条 <_search >关键字搜索** DSL搜索**Elasticsearch提供丰富且灵活的查询语言叫做DSL查询(Query DSL),它允许你构建更加复杂、强大的查询。DSL(Domain Specific Language特定领域语言)以JSON请求体的形式出现。POST http://localhost:9200/haoke/user/_search#请求体{ "query" : {

2020-09-29 09:23:48 236

原创 elasticsearch(四)----数据更新操作

1.添加post : http://localhost:9200/haoke/user/0001{ "id":1001, "name":"张三", "age":20, "sex":"男"}说明:非结构化的索引,不需要事先创建,直接插入数据默认创建索引。没有指定字段(没有创建映射)直接插入数据 叫非结构化索引# 不指定id插入数据post : http://localhost:9200/haoke/user{ "id":1001, "name":

2020-09-27 13:17:39 1779

原创 elasticsearch(三)----索引创建与删除

1.创建非结构化索引在Lucene中,创建索引是需要定义字段名称以及字段的类型的,在Elasticsearch中提供了非结构化的索引,就是不需要创建索引结构,即可写入数据到索引中,实际上在Elasticsearch底层会进行结构化操作,此操作对用户是透明的。1.1创建空索引(相当于创建表)方法一 : 打开postman --> 设置为 put请求 --> http://es所在服务器的ip:9200/索引名称PUT http://localhost:9200/ha

2020-09-26 15:15:49 1645

原创 elasticsearch(二)----相关概念

1.1EalsticSearch是什么es是一款基于lucene的开源 分布式 restful接口的全文搜索引擎还是一个分布式文档数据库具有很强高可用和可扩展性 可以通过提高服务器性能进行垂直扩展 可以通过 增加服务器进行水平扩展1.2优点横向可扩展性 : 只需要增加一台服务器 配置好就可以加入集群使用分片机制提供更好的分布性 : 同一个索引可以分为多片(sharding) 每个分片可以存储数据进行分布式集群部署 提示分门别类的管理可以提高效率高可用 : 提供复制机制 一个分片可以复制多

2020-09-26 13:28:10 62

原创 elasticsearch(一)----安装

官网 : https://www.elastic.co/cn/products/elasticsearch下载地址 : https://www.elastic.co/cn/downloads/elasticsearch介绍 :es是一个开源高扩展的分布式全文检索引擎 它可以近乎实时的存储 检索数据 本身扩展性很好 可以扩展到上百台服务器 处理PB级数据 es也使用java开发并使用lucene作为其核心来实现所有索引和搜索功能 但是他的目的是通过简单restful风格来隐藏.

2020-09-25 10:44:32 284

原创 springboot整合log4j2.xml

导包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 排除springboot自带的log日志包 --> <exclusions>

2020-09-14 15:49:05 460

原创 枚举类实现数据字典

平常写代码经常会遇到实际字典为一个类型 例如 1 男 2 女之类的 我们可以自定义一个枚举类 直接通过状态码来获取对应的属性值即可public enum GenderEnum { MAN("0","男"), WOMAN("1","女"), UNKNOW("3","未知"); private final String code; private final String info; GenderEnum(String code, String info)

2020-08-25 13:35:26 2127

原创 读取视频文件输出到指定目录

最近公司要求把一堆视频文件放到指定数据库里 最后实在是太多了 受不了了 写个程序偷个懒需求 : 把视频名称及对应的在文件服务器的路径和视频第一帧图片放到对应数据库中下面吧添加数据库的代码删除了 有需要可小伙伴可以自己根据自己的业务添加 <!--获取视频第一帧--> <dependency> <groupId>org.bytedeco</groupId> &lt.

2020-08-17 15:38:35 708

原创 error : java.lang.ClassNotFoundException: reactor.netty.http.client.HttpResponseDecoderSpec

如下报错原因是由于springboot和springcloud版本不对应导致的java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.gateway.config.GatewayAutoConfiguration.propertiesRouteDefinitionLocator at org.springframework.boot.autoconfigure.condition.S

2020-08-14 18:03:11 5426 3

原创 error : 打包时找不到启动类

我们在创建工程时 一般会把一些公共配置 工具类等等放到一个基础工程里<此工程没有启动类> 在其他微服务引用该工程即可此时可能会报错如下 表示找不到启动类[ERROR] Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:2.3.2.RELEASE:repackage (repackage) on project common: Execution repackage of goal or.

2020-08-12 16:18:51 496

原创 微服务的全局异常处理器

如果是dubbo服务 直接在对外暴露服务的哪个模块添加该类即可如果是springboot微服务 我们可以把他配置到网关里 并且在启动类配置如下目的是为了让服务知道该配置 否则不生效ApiReturnObject是一个统一返回值类型 可以根据自己喜好进行定义 这里就不贴代码了package com.softdev.config;import com.softdev.common.config.BusinessException;import com.softdev.common.co.

2020-07-01 18:29:10 1022 2

原创 nacos--简介与安装

1.特性2.安装环境准备Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:64 bit OS,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。64 bit JDK 1.8+Maven 3.2.x+- 方法一 :# 拉取项目git clone https://github.com/alibaba/nacos.git # GitHub地址gi

2020-06-17 13:08:26 2743

空空如也

空空如也

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

TA关注的人

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