- 博客(47)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Spring Cloud Config分布式配置中心
Spring Cloud Config分布式配置中心1. 概述分布式系统面临的问题----配置问题微服务意味着要将单体应用中的业务拆分为一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务.由于每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的.SpringCloud提供了ConfigServer来解决这个问题,我们每一个微服务自己带着一个application.yml,上百个配置文件的管理就是问题.1.1 是什么SpringCloud
2021-01-15 16:47:36
88
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Redis学习总结
Redis1、Redis简介1、Redis:REmote DIctionary Server(远程字典服务器)2、完全免费,使用c语言编写,遵守BSD协议,是一个高性能的(key/value)额分布式内存数据库,基于内存运行,并支持持久化的NoSql数据库,是当前最热门的NoSql数据库之一,也被人们成为数据结构服务器。3、Redis与其他key-value缓存产品有以下三个特点: 1)、Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的实收可以再次加载进行使用; 2)、Re
2021-01-06 17:29:35
160
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Spring Cloud Alibaba学习总结
Spring Cloud Alibaba1.入门简介1.1 为什么会出现SpringCloud alibabaspring cloud Netflix进入维护模式1.2 是什么2018.10.31, Spring cloud Alibaba正式入驻了Spring Cloud官方孵化器,并在Maven中央库发布了第一个版本.1.3 能干嘛服务限流降级默认支持Servlet、Feign、RestTemplate、Dubbo和RocketMQ限流降级功能的接入,可以在运行时通过控制台
2020-12-30 16:31:17
4399
6
原创 年份选择器
ant design vue写的年份选择器代码如下:<template> <a-popover v-model="visible" trigger="click" placement="bottom"> <div slot="content" class="year-picker"> <div class="year-picker__year-box" > <!--<div cla
2021-07-28 16:52:40
655
原创 html中video标签播放完成事件
<video id="video" width="100%" height="100%" autoplay muted> <source src="video/1.webm" type="video/webm"></source></video>var aud = document.getElementById('video');//video视频播放完成的事件aud.onended = function() {};...
2021-04-23 14:28:29
3064
原创 JavaScript定时器
let count = 0; //轮播开始 start(){ this.setIntervalId = setInterval(()=>{ // 轮播到最后一个停止 if (length == this.count) { this.count = 0; this.stop(); }else{ this.typ...
2021-04-23 14:22:52
132
原创 @Valid和@Validated注解校验List<Object>
@Valid和@Validated注解校验List< Object>spring 4整合hibernate-validator61.导包 <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <vers
2021-01-20 11:51:53
2181
3
原创 idea启动tomcat中文乱码
idea启动tomcat中文乱码idea中修改路径 : File | Settings | Editor | File Encodings路径 : idea安装路径 | bin修改两个文件,在文件最后面加下面一句话-Dfile.encoding=UTF-8修改需要启动的Tomcat服务器影响Tomcat日志打印乱码问题配置路径 : Tomcat安装目录 | config | logging.properties影响java文件编译信息文件的编码路径 : File | Set
2021-01-18 16:36:09
134
原创 设计模式简介(装饰器模式、适配器模式和工厂模式)
设计模式设计模式是一种解决方案,用于解决软件设计中普遍存在的问题,是前辈对之前软件设计中反复出现的问题的一个总结。我们学习设计模式,是为了学习如何合理的组织我们的代码,如何解耦,如何真正的达到对修改封闭对扩展开放的效果,而不是去背诵那些类的继承模式,然后自己记不住,回过头来就骂设计模式把你的代码搞复杂了,要反设计模式。1.设计模式六要素1.1单一职责原则(Single Responsibility Principle,SRP)一个类只负责一个功能领域中的相应职责,或者可以定义为:就一个类而言
2021-01-15 17:13:43
339
原创 UML之顺序图(时序图)
UML学习之顺序图(时序图绘制)1. 什么是时序图时序图(Sequence Diagram),又名顺序图、序列图、循序图,是一种UML交互图。它通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。2. 时序图的元素我们在画时序图时涉及7种元素:角色(Actor)、对象(Object)、生命线(LifeLine)、控制焦点(Activation)、消息(Message)、自关联消息、组合片段。其中前6种是比较常用和重要的元素,剩下的一种组合片段不是很常用,但是比较复杂 。角色(A
2021-01-15 17:09:56
5011
原创 Ant的简介与基础知识
Ant的简介与基础知识1. Ant是什么? Ant相当于Linux环境下的shell脚本,只不过是xml文档来编写的。我们知道,在Linux环境中,可以通过编写shell脚本,封装一系列繁琐而日常需要经常重复的工作。在需要进行这些操作时,只需要运行这个脚本就可以批处理这些操作了。Ant脚本也是一样,只不过它一般是为了方便Java项目的编译、运行、测试、打包等工作服务的。 日常工作中,一个项目除了编码外,还需单元测试、集成测试、系统测试,测试过程中可能会不断修改代码,然后在测试。这样重复而繁琐的
2021-01-15 17:05:55
1110
1
原创 Ribbon
Ribbon算法1.Ribbon核心组件IRule1.1 IRule:根据特定算法中从服务列表中选取一个要访问的服务IRule接口主要的实现类:AbstractLoadBalancerRulecom.netflix.loadbalancer.RoundRobinRule 轮询com.netflix.loadbalancer.RandomRule 随机com.netflix.loadbalancer.RetryRule 先按照RoundRobinRule的策略获取服务,如果获取服务失败则
2021-01-15 17:01:51
112
原创 微服务介绍以及微服务架构
1. 单体架构-Monolithic Architecture对于非专业人士来说,所谓的单体架构,其就像一个超大容器,容器内集中包含了该应用的所有软件组件,并且组件与组件之间紧密耦合。总结:**臃肿僵化不灵活:**单体架构很难采用多种技术**可靠性较差:**这种架构最明显的特征就是牵一发而动全身,一个小小的功能失效可能会导致系统的不可用**扩展性较差:**应用本身无法轻易的进行扩展,一旦需要进行对某个或者某些功能进行扩展或者更新,我们需要重新构建整个系统**阻碍连续性的开发:**应用的许多功能
2021-01-15 16:51:24
400
1
原创 Spring知识学习总结
spring知识1. spring概述1.1 spring是什么?Spring是分层的JavaSE/EE 应用full-stack轻量级开源框架,以IOC和AOP为内核,提供了展现层SpringMVC和持久层Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库。逐渐成为使用最多的javaEE企业级应用框架。spring可以做很多事情,它为企业级开发提供了丰富的功能,但是这些功能的底层都依赖于它的两个核心特性,也就是依赖注入(DI)和面向切面编程(
2021-01-06 17:27:17
165
原创 GateWay网关学习总结
Gateway网关1. 概述简介1.1 官网[Zuul 1.x]: “Zuul”[gateway]: “gateway”1.2 是什么Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,就是gateway.1.2.1 概述Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2 和 P
2020-12-30 16:44:25
314
原创 服务熔断Hystrix学习总结
Hystrix1.分布式系统面临的问题复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免的失败.1.1 服务雪崩多个微服务之间调用的时候,假设微服务A调用微服务B和微服务C,微服务B和微服务C有嗲用其他的微服务,这就是所谓的"扇出".如果扇出的链路上某个微服务的调用响应时间过长或者不可用,对微服务A的调用就会占用越来越多的系统资源,进而引起系统崩溃,也就是所谓的"雪崩效应".对于高流量的应用来说,单一的后端依赖可能会导致所有服务器上的所有资源都在几秒钟内饱和.比
2020-12-16 17:55:24
203
原创 注册中心Zookeeper,Eureka,Consul异同点
注册中心Zookeeper,Eureka,Consul异同点组件名语言CAP服务健康检查对外暴露接口spring cloud集成EurekaJavaAP可配支持HTTP已集成ConsulGoCP支持HTTP/DNS已集成ZookeeperJavaCP支持客户端已集成1.CAPC: Consistency(强一致性)A:Availability(可用性)P:Partition tolerance(分区容错性)1.1 CA
2020-12-16 17:52:46
117
原创 Oracle数据库创建用户、授权、多表联合查询、语句调优
Oracle数据库创建用户、授权、多表联合查询、语句调优1. 创建用户和授权其中的路径一定要存在/*分为四步 *//*第1步:创建临时表空间 */create temporary tablespace user_temp tempfile 'C:\app\user10\oradata\orcl\user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /
2020-12-14 17:44:06
511
原创 Feign服务调用组件的使用
Feign1. Feign是什么Feign是一个声明式WebService客户端.使用Feign能让编写Web Service客户端更加简单.它的使用方法是定义一个服务接口然后在上面添加注解.Feign也支持可拔插式的编码器和解码器.SpringCloud对Feign进行了封装,使其支持了SpringMVC标准注解和HttpMessageConverters.Feign可以与Eureka和Ribbon组合使用以支持负载均衡.2. Feign能干什么Feign旨在使编写Java Http客户端
2020-12-14 17:40:17
183
原创 MyBatis-Plus
MyBatis-Plus1、简介1.1MyBatisPlus介绍MyBatis-Plus(简称MP),是一个MyBatis的增强工具包,只做增强不做改变,为简化开发工作、提高生产效率而生。1.2代码及文档发布地址官方地址:http://mp.baomidou.com代码发布地址:Github:http://github.com/baomidou/mybatis-plusGitee:https://gitee.com/baomidou/mybatis-plus文档发布地址:http://
2020-11-18 16:53:47
230
原创 Tomcat参数配置
Tomcat参数配置1. server.xml配置文件port:代表端口号,默认8080protocol:协议类型,可选类型有4种,BIO(阻塞型IO),NIO,NIO2和ARPminProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75acceptCount:允许的最大连接数,一般与maxThreads相同,默认值为100enableLookups:是否反查域名,取
2020-11-13 17:09:52
294
原创 Docker
DockerDocker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。总体来说,Docker的接口相当简单,用户可以方便地创建和
2020-11-13 17:04:47
90
原创 SpringBoot
SpringBoot1. springboot多环境配置1.1 properties文件spring.profiles.active=dev【激活dev文件】创建三个文件,然后在默认文件application中激活某个文件application.properties 默认application-dev.properties 开发环境application-test.properties 测试环境1.2 yaml文件yaml可以直接给实体类赋值@Val
2020-11-10 17:27:39
469
原创 深拷贝和浅拷贝的区别
深拷贝和浅拷贝JavaScript中有两种类型的对象拷贝:浅拷贝(Shallow Copy)、深拷贝(Deep Copy)。最根本的区别在于是否是真正获取了一个对象的复制实体,而不是引用。浅拷贝: 只是拷贝了基本类型的数据,而引用类型数据,复制后也是会发生引用,我们把这种拷贝叫做“(浅复制)浅拷贝”,换句话说,浅复制仅仅是指向被复制的内存地址,如果原地址中对象被改变了,那么浅复制出来的对象...
2019-07-27 18:35:26
148
原创 AVL(平衡二叉树)
AVL平衡树最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树。定义左右子树均为AVL树左右子树的高度差的绝对值不超过1平衡二叉树满二叉树一定是平衡二叉树,高度最低完全二叉树也是平衡二叉树,叶子节点深度相差不为1线段树也是平衡二叉树,叶子节点深度相差不为1下图中看起来比较偏斜,但是符合定义 平衡二叉树的高...
2019-07-26 19:22:18
380
2
原创 "==",hashcode和equals方法的区别
“==”,hashcode()和equals()方法的区别1.什么是“==”"= ="操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同,要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符。public static void main(String[] args) { String s1 = "a"; String s2 ...
2019-07-25 16:14:43
138
原创 Java内存泄漏
Java内存泄漏1.定义内存泄露是指无用对象(不再使用的对象)持续占有内存或无用对象的内存得不到及时释放,从而造成的内存空间的浪费称为内存泄露。内存泄露有时不严重且不易察觉,这样开发者就不知道存在内存泄露,但有时也会很严重,会提示你Out of memory。2.引起内存泄漏原因2.1容器使用时引起内存泄漏像HashMap、Vector等的使用最容易出现内存泄露,这些静态变量的生命...
2019-07-23 19:50:20
176
原创 图论
图论图论〔Graph Theory〕是数学的一个分支。它以图为研究对象。图论中的图是由若干给定的点及连接两点的线所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系,用点代表事物,用连接两点的线表示相应两个事物间具有这种关系1.1图的重要组成部分节点:Vertex边:Edge可以表示:交通运输、社交网络、互联网、工作安排、脑区活动、程序状态执行1.2图的分类无向图...
2019-07-22 21:09:03
641
原创 算法(排序)
1.对比算法1.1选择排序/* * 选择排序 * 核心思想:每个元素与后面的元素挨个比较 * 平均时间复杂度O(n^2) * 最好的时间复杂度O(n^2) * 最坏的时间复杂度O(n^2) * 空间复杂度O(1) * 稳定性:不稳定 * */public class SelectSort { public static void SelectSort(int[] arr...
2019-05-14 10:06:35
139
原创 二分搜索树(二叉排序树)(源代码)
二叉排序树或者是一棵空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2)若右子树不空,则右子树上所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树;二叉树:就是一种特殊的树结构 元素节点最多有两个孩子节点二叉树怎么存?动态数组 动态链表如果动态数组存一个深度为h的二叉树 最多需要2^h-1每一层最...
2019-04-11 19:09:52
378
原创 八皇后问题(源代码)
八皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。八皇后问题可以推广为更一般的n皇后摆放问题:这时棋盘的大小变为n1×n1,而皇后个数也变成n2。而且仅当 n2 ≥ 1 或 n1 ≥ 4 时问题有解。八皇后问题最早是由国际西洋棋棋手马克斯·贝瑟尔...
2019-04-11 18:49:46
477
原创 汉诺塔问题(源代码)
1.相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如下图)。游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。**分析:**对于这样一个...
2019-04-11 18:42:26
1305
原创 206.反转链表(两种方法:迭代和递归)
解题思路:1.迭代–创建一个新的链表的哑巴节点root,创建一个过度指针n,使用头插法将head链表中的元素取出插入root链表中,返回root.next;class Solution { public ListNode reverseList(ListNode head) { if(head==null||head.next==null){ ...
2019-04-03 19:32:58
163
原创 905.按奇偶数组排序
**解题思路:**定义两个指针和一个新的数组,头尾同时遍历,如果是偶数,则从新数组头开始插入,如果是奇数,则从尾开始插入,直到数组遍历完成。class Solution { public int[] sortArrayByParity(int[] A) { if(A==null||A.length==1){ return A; }...
2019-04-03 16:38:36
286
2
原创 异常和I/O流
异常要点提示: :异常处理使得程序可以处理非预期的情景,并且继续正常的处理。概述: 在程序编译和运行的过程中出现的一些错误问题,对于这些错误和问题而言,能否通过面向对象的思想 将这些错误和问题进行类的封装。异常描述异常名称 (可以自定义)异常产生的原因 (可以自定义)异常产生的位置(代码中的某一行) (由JVM决定)异常产生的线程 (由JVM决定)异常发生原因: 基本上是...
2019-02-26 13:13:46
152
原创 栈(线性栈和链栈)
1.线性栈class LinearStack{ public int[] array; public int size; public LinearStack(){ this(10); } public LinearStack(int capias){ array=new int[capias]; size=0; } public void push(int e){ ...
2019-02-21 17:17:40
298
原创 Object和String类
Object类每个类都有父类 无论是extends写出 还是没写出 它们的最终父类是ObjectgetClass() 将该对象的所属类当做一个Class的对象进行返回hashCode() 返回的是对象在真实物理内存中的地址(十进制表示)主要和哈希表结合equals(Object obj) 将该对象与传入的对象obj进行对比 (默认比的是对象的地址)clone() 将当前对象进行复制...
2019-02-21 14:21:46
245
原创 eclipse的使用
Eclipse的使用Eclipse-集成开发工具IDE,在Eclipse中,是以项目为基本单位的。工作空间(workspace): 是Eclipse用于存放项目的文件夹 可以由自己来指定Eclipse的配置1.编码集设置(字符集 ASCII Unicode GBK UTF-8)WindowPerferencesGeneralWorkSpaceText File Encodi...
2019-02-21 13:18:41
267
原创 Java面向对象练习题
1.import java.util.Scanner;class Demo5_2{ /* 类 StopWatch 属性 startTime endTime 无参构造函数 初始化startTime 行为 start() 将startTime重设为当前时间 stop() 将endTime设为当前时间 getElapsedTime() 记录过去了多少时间...
2019-02-17 18:49:40
14407
4
原创 Java面向对象和类
5.面向对象5.01面向过程与面向对象面向对象是基于面向过程的编程思想面向过程是最基本的解决思路最终事情要被解决 绝对会面向过程面向对象编程思想的特点:是一种更符合我们思想习惯的思想可以将复杂的事情简单化将我们从执行者变成了指挥者怎样才能更符合面向对象思想呢 ?有哪些类?每个类有哪些东西?类与类之间的关系是什么?面向对象开发: 就是不断地创建对象,使用对象,指...
2019-02-17 15:24:50
239
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人