- 博客(39)
- 资源 (5)
- 收藏
- 关注
原创 spring源码级讲解
???? 后置处理器原理我们首先来看一下后置处理器的作用{% folding red,查看代码 %}public class Application{ @Bean public Person person(){ return new Person(){ @PostConstruct public void init(){ System.out.println("init");
2021-01-05 20:14:26 304 3
原创 从零开始搭建k8s和kubesphere
???? virturalBox 虚拟机搭建linux集群为什么使用虚拟机呢,因为贫穷下载安装virturalBox下载安装vagrant在指定文件夹下打开cmd命令窗口(管理员运行),初始化镜像 vagrent init centos/7vagrant up 创建虚拟机,太慢的话可以去官网下载,我这里用的这种方式 vagrant box add centos CentOS-7-x86_64-Vagrant-2004_01.VirtualBox.box 安装创建完成后 vagrant ss
2021-05-26 19:15:02 589
原创 spring security +jwt +mybatisPlus搭建
前言最近花了两天复习了一下spring security,在网上找了很多帖子和视频,感觉这些帖子感觉讲解的很零散,毕竟spring security里面默认内置了很多场景的解决方案。这里我们只关注spring security + jwt + mybaitsPlus 的解决方案。此方案是我找了很多视频帖子最后总结出来的,最后我参考了ruoyi项目和spring-security-plus,发现这种方式和我自己总结的大同小异,就决定吧这种方式记录下来,这里我们只把和spring security认证和授权的
2021-02-01 20:35:27 507 1
原创 leetcode题集 —— 二叉树层序遍历合集
二叉树的层序遍历题目102. 二叉树的层序遍历429. N 叉树的层序遍历 107.二叉树的层次遍历II199.二叉树的右视图637.二叉树的层平均值515.在每个树行中找最大值 基本的层序遍历涉及题目有 : 102 ,429 , 107先把最基本的二叉树层序遍历写一下,思路就是将节点放入队列,取出时打印,在将左右节点放入队列,重复此过程直到队列为空public class TreeNode { int value; TreeNode left; TreeN
2021-01-27 13:03:15 247
原创 leecode题集 —— 两个可能有环链表相交找交点
两个可能有环链表相交找交点这是几道题的一个综合面试题 02.07 链表相交剑指offer 52 两个链表的第一个公共节点142 环形链表2 解题思路首先我们先来分析一下无环情况如何找到交点首先判断是否相交 --> 两个链表的最后一个节点是否相同,若相同则一定是相交的若相交,找交点 --> 将链表差值得出,长链表先走差值这么多,然后两个链表一起走,第一个相等的节点就是交点接下来我们分析如何判断链表有环思路一、 遍历链表将节点一个一个放入set集合,当放入的节
2021-01-27 11:10:18 774
原创 解决vue ui报错Cannot find module ‘@vue/cli/lib/util/rcPath‘
使用 npm update -g @vue/cli 下载完成之后使用图形界面创建脚手架 vue ui 报错Cannot find module ‘@vue/cli/lib/util/rcPath’解决 :找到全局安装位置可以找到两个@vue,发现第二次@vue没有rcPath.js在第二个@vue中创建一个cli文件夹,吧第一个@vue的lib放进去即可...
2021-01-19 13:56:58 2072 3
原创 springcloud alibaba一键部署攻略(nacos集群+sentinel+openfeign+gateway)
说明spring cloud alibaba注册中心 : nacos配置中心 : nacos网关 : gateway负载均衡 : ribbon远程调用 : openfeign熔断降级 : sentinelnacos集群配置 : nginxsentinel持久化 : nacosnacos持久化 : mysql约定本工程默认路径 com.yys.springcloud.xxxmvc三层使用包名 controller service dao实体类使
2021-01-18 15:48:45 2486
原创 ElasticSearch的使用
ElasticSearch的使用1. 下载ElasticSearch安装包这里使用的elasticSearch为6.2.1 , 下载Elasticsearch-head可视化工具2. 下载完成后打开config配置elasticsearch.yml文件写入配置cluster.name: xuecheng #集群名称node.name: xc_node_1 #节点名称network.host: 0.0.0.0 #链接主机http.port: 9200 #端口transpo
2020-08-18 12:21:28 258
原创 webpack的一键打包攻略
webpack 使用前言 : npm init 生成package.json 文件在package.json中引入相关依赖{ "name": "webpackdemo", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author":
2020-08-18 12:10:22 379
原创 消息中间件的简介和使用(AMQP)
MQ (message queue)mq消息队列就是基础数据结构中的“先进先出”的一种数据机构.MQ在消息中间件的应用在一些需要异步调用的服务,和一些不需要遵守强一致性的服务,可以先将服务存入消息队列中,再异步的调用执行分类JMS : 适用于java代码的工程 可以传输多种类型的数据AMQP : 可以适用任何 数据只能是byte[]类型RabbitMQ(AMQP)Route _keyExchange会根据Route_可以 进行模式匹配Exchangeexchange 有5种模式 :
2020-07-21 10:10:26 488
原创 spring-cloud工程的简单搭建
Springcloud项目创建:1.建立parent工程,管理依赖版本<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version></parent><properties
2020-07-15 09:36:10 179
原创 集合的安全性分析和阻塞队列的使用
集合的读写安全性1. list 集合线程不安全的解决方案synchronized 同步代码块使用 vector 保证线程安全使用Collections 工具类 包装集合 保证线程安全ps 这两种方法其实是一种都是给方法加上同步代码块使用锁机制 (Lock)使用读写锁 同步读写操作 保证线程安全使用CopyOnWrite使用 CopyOnWriteArrayList 读写分离 保...
2020-04-04 17:46:51 176
原创 juc线程池前世今生
juc线程池Executor接口 是整个线程池的父接口ExecutorService是他的子接口 其下面有两个实现类的分支 :1. ThreadPoolExecutor2. ForkJoinPool1. ThreadPoolExecutorjuc工具类中提供了三种默认的poolExecutor创建方式 : ExecutorService executor = Executors.n...
2020-04-04 17:01:51 138
原创 同步锁的作用范围
synchronize作用范围synchronized 解决的三种方式:1)使用synchronized 代码块2)synchronized 同步方法3)synchronized 同步静态使用synchronize代码块通过指定锁来制定作用范围 :1. 以this充当锁 是以对象作为锁 锁整个对象2. 以x.class 作为锁 是以整个类为锁 锁此类的所有对象使用 synchro...
2020-04-02 13:04:44 763
原创 一张图让你读懂什么是设计模式 --设计模式系列总结
设计模式创建型单例模式 工厂模式 原型模式 建造者模式结构型桥接模式 适配器模式 外观模式 装饰器模式 代理模式 享元模式 组合模式行为型模板方法模式 命令模式 访问者模式 迭代器模式 观察者模式 中介者模式 忘备录模式 解释器 状态模式 策略模式 职责链模式此为思想角度剖析设计模式 若想从代码角度剖析 可以去看往期帖子...
2020-04-01 20:09:18 364
原创 设计模式系列之--职责链模式
职责链模式职责链模式是一种拦截器机制 他将多层的if/elseif进行拆分为一个个的拦截器链式调用来达到if/else的功能拦截器只负责拦截 这样可以将功能独立出来 达到解耦的目的javaweb中拦截器机制(通过重写doChain方法来进行链式调用) 和springmvc中的拦截器机制 都是这个原理角色 :拦截器类拦截器组装类请求类以拦截器拦截请求为例//拦截器组装类publi...
2020-04-01 14:35:32 138
原创 设计模式系列之--策略模式
策略模式这种模式属于行为型模式, 他调整了方法的合理调用策略模式将具体类和具体功能分开 使用组合的方式进行关联 这样减小了耦合 和代码冗余状态模式是将不同状态以不同对象的形式展示 策略模式是将不同实现的方式以对象的形式展示角色 :Context上下文(具体类) : 用于封装策略对象策略接口 : 抽象策略规则具体策略角色(具体功能) : 策略的具体实现以Arrays工具类的sort方...
2020-04-01 13:01:38 84
原创 设计模式系列之--状态模式
状态模式这种类型的设计模式属于行为型模式,它他解决了方法的合理调用状态模式用于一个事件或对象有很多状态,状态之间会互相转换,对不同状态有不同的行为的情况状态模式将不同的情况封装为一个类 这样避免了if/else的多次调用 而且增加新的情况不改变原有代码这样可以通过只一次判断状态就可以完成相应方法的调用需要的成员 :状态类 : 写一个状态类的接口提供基本标准 让不同状态类实现接口 产生不...
2020-03-31 21:07:32 123
原创 设计模式系列之--解释器模式
解释器模式这种类型的设计模式属于行为型模式,它他解决了方法的合理调用解释器模式用于对表达式(字符串的解析),如espl 正则表达式等可以通过自定义规则来使用解释器创建一种语法简易代码(如espl)解释器需要的角色:解析器类 : 用来制定规则按情况调用不同的表达式类完成解析抽象表达式类 : 在此类生成结果具体表达式 类: 通过不同的抽象表达式子类解析不同的符号并运算终结符表达式类 :...
2020-03-31 16:02:59 160
原创 设计模式系列之--忘备录模式
忘备录模式这种类型的设计模式属于行为型模式,它他解决了方法的合理调用忘备录模式比较简单 就是存档这种模式就是在不同时间赋值对象并储存 但是若储存的对象是原来对象 那么调用回退方法势必会造成类的泄露(对类内部过多关心 不符合迪米特法则) 可以新建一个类只储存需要回退的信息 并用集合封装这些信息即可既然是复制对象 可以配合原型模式使用以一个人年龄为例public class Man { ...
2020-03-30 16:37:14 408
原创 设计模式系列之--中介者模式
中介者模式这种模式属于行为型模式,他调整了方法调用的规范中介者模式类似外观模式,外观模式是通过统一管理来实现多个类的管理,中介者模式是组合多个类将类之间的依赖关系放入中介者中进行管理(中介者会管理细节 使所有组合的类中的依赖关系解耦 依赖关系由中介者管理)中介者模式优点通过让对象彼此解耦,增加对象的复用性通过将控制逻辑集中,可以简化系统维护通过中介者使一对多变成了一对一 方便操作缺...
2020-03-30 15:52:38 93
原创 设计模式系列之--观察者模式
观察者模式这种类型的设计模式属于行为型模式,它他解决了方法的合理调用观察者模式就是以代码实现广播功能java提供了Observe接口 里面 提供一个update方法来保证广播类可以通过调用update方法实现更新Observable广播类 里面定义一个集合(类似池原理) 通过放入Observe来进行组合(达到订阅效果,在集合中的Observe就是订阅成功的) 通过遍历集合调用Observe...
2020-03-30 13:05:02 119
原创 设计模式系列之--迭代器模式
迭代器模式这种类型的设计模式属于结构型模式,它调整了代码结构。迭代器模式 是一种遍历的模式 他通过抽象出一个通用的遍历接口 来实现一套方式遍历多种集合iterator接口 定义了 hashNext 方法 和next方法 来进行遍历hashNext 方法判断是否还有下一个 ,next方法来取出集合中对象具体遍历类实现iterator接口具体实现目标类的遍历方法 目标类提供调用方法来进行遍历...
2020-03-29 17:14:07 77
原创 设计模式系列之--命令模式
命令模式这种设计模式属于行为型的设计模式,他解决了方法的合理调用命令模式和外观模式 很像都是通过一个类来进行管理不同: 外观模式是管理类的角度 命令模式是管理方法角度 而且外观模式的模式种类很固定命令模式的优缺点 :优点: 解耦效果很好缺点 : 当指令过多造成内存占用大命令模式通过 一个Master来发起命令 -> 给命令类 -> 找接受者接受命令类中决定了接受者如何被...
2020-03-27 21:31:22 147
原创 设计模式系列之--模板方法模式
模板方法模式这种设计模式属于行为型的设计模式,他解决了方法的合理调用模板方法模式 顾名思义就是 创建一个模板 子类来照着写模板方法和建造者模式中的指挥者的角色很像 都是提供了流程按流程顺序执行模板方法和建造者模式的不同:建造者模式的目的是建造对象 他的最终目标是返回一个对象(重点在于结果) 而模板方法模式终点是在于方法的调用(重点在于过程)模板方法类更像是建造类和指挥者类耦合到一起的...
2020-03-27 19:30:32 110
原创 设计模式系列之--代理模式
代理模式这种类型的设计模式属于结构型模式,它调整了代码结构。代理模式可以分为 动态代理 静态代理动态代理又可以分为 cglib代理 和jdk代理静态代理动态(jdk)代理动态(cglib)代理静态代理和装饰器模式非常想 都是实现接口 组合被代理类 增强代理方法 代码可以说是一模一样 在这里我们就把他当成一样的就行(网上也没找到区别是什么 据说装饰器是构造器传入对象 静态代理是直接n...
2020-03-27 13:51:06 87
原创 设计模式系列之--享元模式
享元模式享元模式是一种结构性模式,他调整了代码的结构一说到享元模式 那必然会说到池技术 池技术的实现靠的就是享元模式享元模式又叫蝇量模式 他主要解决了创建过多相同对象的问题享元模式和单例模式类似 单例模式是类只有一个实例不可以创建多个实例 是在类上做限制 享元模式是可以有多个实例但是实例数量是固定的调用也是只会调用这几个对象 是在对象上做限制享元模式的创建对象是通过工厂创建的 工厂中有一...
2020-03-26 19:46:40 81
原创 设计模式系列之--装饰者模式
装饰者模式这种类型的设计模式属于结构型模式,它调整了代码结构。装饰器模式顾名思义是将类进行包装增强的一种模式 ,他与桥接模式相反 桥接模式是类似于空出一块交给别人处理以实现扩展, 装饰者模式是将这个类,增加代码以实现扩展...
2020-03-25 22:50:46 83
原创 设计模式系列之--桥接模式
桥接模式这种类型的设计模式属于结构型模式,它更改或调整了代码的结构和适配器模式不同,适配器模式主要解决了插头不一样的问题,桥接模式主要是为什么要有插头的问题,桥接模式主要是用来解耦的,将不同的功能以接口的形式暴露,给不同厂商做适配提供了机会,好处1是解耦,2来生产商不用关心具体实现,提供接口即可举个例子例如 以前的游戏机游戏是嵌在主板上的只能玩一个俄罗斯方块,这样的弊端是 若想玩更多的游...
2020-03-24 14:17:48 98
原创 设计模式系列之--适配器模式
适配器模式这种类型的设计模式属于结构型模式,它更改或调整了代码的结构适配器顾名思义是将类与另一类进行适配,使得两个类之间兼容首先兼容的两个类肯定是有关联的适配器模式的产生 是由于对一个事情的不同标准或不同版本造成的(如类型不同的插头),若想让不同的标准可以兼容 那么就需要一个中间的一个东西同时兼顾两种标准 将两种不同标准中不同的地方进行转换(如转接插头 log4j的转换)在java中需要...
2020-03-22 00:31:52 104
原创 设计模式系列之--建造者模式
原型模式这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。建造者模式与工厂模式很像 他们的区别是:建造者模式注重过程工厂模式注重结果建造者模式也是一种生产一类对象的模式 但是这一类对象要求生产过程或流程统一 工厂模式只提供了创建的方法具体创建方式由子工厂自己决定 而建造者模式提供了建造的基本流程(标准) 那么子工厂需要按照这些流程来生产(父类只提供基本流程详细步骤还是要子类自...
2020-03-21 22:59:24 79
原创 设计模式系列之--原型模式
原型模式这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。是不是创建型模式的核心就是不new对象hhh原型模式与其他两种创建型模式不同 主要用于克隆对象当需要一个与原来对象一模一样的对象时就可以用原型模式进行创建主要是使用clone方法 和序列化反序列化的方式进行复制复制来的对象 要比new出来的对象效率要高 而且当需要复制的目标对象发生改变时 此时复制出来的对象就也是新状...
2020-03-20 18:21:09 125
原创 设计模式系列之--外观模式
单例模式这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。与单例模式相反 当需要创建很多类 而这些类属于同一类型或相似 我们希望可以有一个类可以将重复的代码抽取出来将公有重复代码抽取通过传入标识来返回所需的对象这种模式称为工厂模式简单工厂模式将一相似的类进行统一的生产,一个简单工厂只完成一个功能(可以多个功能但是违背单一职责原则),但是若有多个功能那就需要创建多个简单工厂(而且...
2020-03-20 16:53:47 132
原创 设计模式系列之--单例模式心得
单例模式这种类型的设计模式属于创建型模式,它提供了一种创建对象的方式。单例模式顾名思义就是只全局创建一个对象若想达到此目的则需要满足(1) 类提供对象不允许自行创建 这样就需要私有化构造器(2) 类通过公有方法来暴露这个对象以便其他人拿到这个对象类需要创建对象 但是类创建对象的时机可以不同以此作为分类 分成了饿汉式和懒汉式两种方式(1)类在其他人获取对象之前就先创建好对象为饿汉式(...
2020-03-19 16:25:39 229
原创 马踏棋盘问题回溯算法
马踏棋盘问题思路 : 使用回溯算法遍历强行算出来描述 : 在找到结果后会直接退出 可以去掉exit语句可以找到所有符合条件的解package hourse;import java.util.Arrays;public class Hourse { private static final int size = 6; public void walk(int x,i...
2020-03-18 13:30:04 279
原创 如何理解_proto_和prototype
如何理解_proto_和prototype原型空间现在我们记住三句话实例由其定义共享原型空间从上面两张图可以清楚看出这种关系这样就可以形成原型链原型空间我们知道在js中万物皆对象,现在我们假设每一个对象创建时都会产生一个原型空间(原型对象 )现在我们记住三句话实例由其定义共享原型空间由__proto__来寻找定义的原型空间由prototype来寻找自己的原型空间实例由其定义共享原型空...
2019-05-26 12:25:50 365
原创 关于2018计蒜之道-贝壳找房性价比解题
2018计蒜之道-贝壳找房性价比题意贝壳找房有一个性价比比较的系统,对于两个房源a,b,a的价格为papa p_apa万元,面积sasa s_asa平方米,b的价格为pbpb p_bpb万元,面积为sbsb s_bsb平方米。他们的绝对性价比差定义成为 $ \frac{|p_a - p_b|}{|s_a - s_b|}KaTeX parse...
2019-05-26 00:40:07 177
基于ssm的选课系统.zip
2020-01-03
eclips包含自定义配值
2018-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人