自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 资源 (1)
  • 收藏
  • 关注

原创 vue项目中引入echarts

vue项目中引入echarts

2022-09-22 19:15:09 454 1

原创 设计模式--策略模式

在开发中经常遇到这种情况,实现某个功能有多种算法策略,我们可以根据不同环境或者条件选择不同的算法策略来完成该功能,比如查找、排序等,一种常用方式是硬编码在一个类中,如需要提供多种查找算法,可以将这些算法写到一个类中,在该类中提供多个方法,每一个方法对应一个具体的查找算法;将类中经常改变或者可能改变的部分提取为作为一个抽象策略接口类,然后在类中包含这个对象的实例,这样类实例在运行时就可以随意调用实现了这个接口的类的行为。​ 3、客户端必须知道所有的策略类,才能确定要调用的策略类。​ 1、策略类会增多。

2022-09-21 21:48:08 287

原创 设计模式--模板方法

这种类型的设计模式属于行为型模式。

2022-09-21 21:36:34 266

原创 设计模式--观察者模式

观察者(Observer)模式的定义:指多个对象间存在一对多的,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。

2022-09-21 21:19:24 158

原创 设计模式-- 代理模式

静态代理就是写死了在代理对象中执行这个方法前后执行添加功能的形式,每次要在接口中添加一个新方法,则需要在目标对象中实现这个方法,并且在代理对象中实现相应的代理方法。

2022-09-21 20:59:49 107

原创 RabbitMQ消息中间件

1.生产者无需从消费者获取反馈。引入消息队列前的直接调用,其接口返回值为空,这会让下层的动作还没做,上层却继续向后运行,即异步成为可能。注意:在linux中需要放行下面的端口号或者关闭linux的防火墙。解耦、提速和削峰的收益超过它的成本。属于竞争关系,一个消息只会被一个消费者消费。x: 交换机---Direct (路由模式)(消息队列),是在消息的传输过程中。多用于分布式系统之间进行通信。rabbitMQ的端口号解释。之前服务与服务之间如何通信。服务与服务之间直接调用。简单模式--Hello。

2022-09-21 20:57:59 753

原创 rabbirMQ安装说明文档

rabbirMQ的安装文档

2022-09-19 20:50:24 239

原创 mysql高级(二)-- 索引

MySQL官方对索引的定义为:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在数据之外,数据库系统还维护者满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。如下面的示意图所示 :左边是数据表,一共有两列七条记录,最左边的是数据记录的物理地址(注意逻辑上相邻的记录在磁盘上也并不是一定物理相邻的)。

2022-09-16 20:21:19 104

原创 mysql高级(一)体系结构、存储引擎与存储过程

和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。​ 存储引擎就是存储数据,建立索引,更新查询数据等等技术的实现方式。存储引擎是基于表的,而不是基于库的。​ Oracle,SqlServer 等数据库只有一种存储引擎。MySQL提供了插件式的存储引擎架构。所以MySQL存在多种存储引擎,可以根据需要使用相应引擎,或者编写存储引擎。

2022-09-15 22:12:34 222

原创 设计模式(一)-- 单例模式、工厂模式、适配器模式

软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。工厂模式将目的将创建对象的具体过程屏蔽隔离起来,从而达到更高的灵活性,工厂模式可以分为三类:简单工厂模式(Simple Factory)工厂方法模式(Factory Method)

2022-09-14 21:32:57 516

原创 分布式事务

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。注意:MySQL的驱动名称如果为8.0一定要为com.mysql.cj.jdbc.Driver. 如果为5.7一下的可以用com.mysql.jdbc.Driver。A服务【订单微服务】的TM[事务发起者]向TC[seata服务端]申请开启一个全局事务,TC就会创建一个全局事务并返回一个唯一的XID。B服务的RM向TC注册分支事务,并将其纳入XID对应的全局事务的管辖。TC : 事务管理器【seata的服务端】...

2022-08-26 22:25:04 93

原创 微服务保护Sentinel(二)-- 热点参数限流、隔离降级

解读:RT超过500ms的调用是慢调用,统计最近10000ms内的请求,如果请求量超过10次,并且慢调用比例不低于0.5,则触发熔断,熔断时长为5秒。在指定时间内,如果请求数量超过设定的最小数量,慢调用比例大于设定的阈值,则触发熔断。异常比例或异常数:统计指定时间内的调用,如果调用次数超过指定请求数,并且出现异常的比例达到设定的比例阈值(或超过指定异常数),则触发熔断。需求:设置降级规则,慢调用的RT阈值为100ms,统计时间为10秒,最小请求数量为5,失败阈值比例为0.5,熔断时长为30s。...

2022-08-25 21:30:44 1221 2

原创 微服务保护sentinel(一)--初识sentinel、流量控制

其含义是限制 /product/getById/{pid}这个资源的单机QPS为X,即每秒只允许X次请求,超出的请求会被拦截并报错。例如,设置QPS的threshold为10,预热时间为5秒,那么初始阈值就是 10 / 3 ,也就是3,然后在5秒后逐渐增长到10.需求:给/product/getById/{pid}这个资源设置限流,最大QPS为5,利用排队的流控效果,超时时长设置为2s。配置流控规则,当/order/update资源被访问的QPS超过5时,对/order/query请求限流。

2022-08-24 21:28:37 621

原创 skywalking链路追踪与持久化

SkyWalking 是什么?分布式系统的应用程序性能监视工具,专为微服务、云原生架构和基于容器(Docker、K8s、Mesos)架构而设计。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

2022-08-23 19:39:21 900 1

原创 springcloud下的nacos集群与gateway网关

在gateway中内置很多断言器,SpringCloud Gateway包括许多内置的断言工厂,所有这些断言都与HTTP请求的不同属性匹配体如下:基于类型的断言工厂此类型的断言根据时间做判断,主要有三个:: 接收一个日期参数,判断请求日期是否晚于指定日期: 接收一个日期参数,判断请求日期是否早于指定日期BetweenRoutePredicateFactory: 接收两个日期参数,判断请求日期是否在指定时间段内基于远程地址的断言工厂*接收一个IP。

2022-08-22 21:23:31 1895

原创 SpringCloud微服务--Nacos Discovery--服务治理

应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用。通过上一篇的操作,我们已经可以实现微服务之间的调用。的方式去监测清单中 的服务是否可用,如果不可用,需要在服务清单中剔除不可用的服务。服务订阅:服务调用者订阅服务提供者的信息,注册中心向订阅者推送提供者的信息。语言开发的开源工具,主要面向分布式,服务化的系统提供服务注册、服务发现。是专门负责服务注册和发现的,我们可以通过它获取到注册到注册中心的所有服。配置订阅:服务提供者和服务调用者订阅微服务相关的配置。

2022-08-22 20:33:45 528

原创 springcloud--设置配置中心并使用追踪链路日志查看错误

在大型系统的微服务化构建中,一个系统被拆分成了许多微服务。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。在这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软件模块集上,这些软件模块,有可能是由不同的团队开发、可能使用不同的编程语言来实现、有可能布在了几千台服务器,横跨多个不同的数据中心【】,也就意味着这种架构形式也会存在一些问题:如何快速发现问题?如何判断故障影响范围?如何梳理服务依赖以及依赖的合理性?

2022-08-22 19:47:00 857

原创 springcloud微服务

1.1系统架构演变随着互联网的发展,网站应用的规模也在不断的扩大,进而导致系统架构也在不断的进行变化。从互联网早起到现在,系统架构大体经历了下面几个过程:单体应用架构--->垂直应用架构--->分布式架构--->SOA架构--->微服务架构,当然还有悄然兴起的服务网格化)。单体应用架构互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这样可以减少开发、部署和维护的成本。...

2022-08-18 23:28:44 250

原创 Elasticsearch(二)Text和Keyword类型的区别、Springboot整合ES

使用term精准匹配---它不会对关键字进行拆词操作,而且把关键字作为一个整体和倒排索引表进行匹配。使用match匹配查询---对匹配的关键字进行拆词操作,并和倒排索引表中对应。text: 它会为该字段的内容进行拆词操作,并放入倒排索引表中。3.1 操作索引(indices)---创建索引。3.4.对文档的操作(index)---添加文档。keyword: 它不会进行拆词操作。3.3 索引操作--判断索引是否存在。3.2 操作索引--删除索引。3.6.判断文档是否存在。3.9.批量添加文档。...

2022-08-16 19:35:38 580

原创 Elasticsearch(一)安装并使用

大型连锁超市,分析全国网点传回的数据,分析各个商品在什么季节的销售量最好、利润最高。商品价格监控网站,用户设定某商品的价格阈值,当低于该阈值的时候,发送通知消息给用户,比如说订阅《java。我们可以使用搜索引擎来解决数据库搜索的问题: 搜索也是数据库,搜索可以进行分词搜索,速度很快。能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视化。比较成熟,有一个更大,更成熟的用户、开发和贡献者社区,而Elasticsearch。数据的前端展现,数据分析时,可以方便地看到数据。......

2022-08-15 17:02:47 315

原创 SpringBoot整合Vue(二)完成登录(shiro)、退出、左侧菜单(基于springboot+shiro+swagger+redis+vue+elementui)

前置路由守卫:就是在路由跳转前加上自己得一些业务代码。(放在main.js中)先在 Permission实体类定义一个 children属性。登录成功后获取用户信息时出现如下得错误。在Home组件中使用LeftMenu组件。components创建左侧菜单组件。4.修改controller代码。被shiro得拦截器给拦截器了。2.增加一个realm类对象。1.添加shiro依赖。3.shiro的配置类。1.使用递归完成前端。......

2022-08-11 19:27:26 1428

原创 jenkins的安装配置并集成jdk、git

jenkins就是持续开发部署的软件。开发流程:jenkins本身没有编译打包的功能,集成maven完成编译和打包, jenkins本身不会拉取gitee远程仓库的代码,集成git从远程仓库拉取代码, git本身也不会运行jar,需要集成jdk来运行jar。...

2022-08-11 15:39:42 755

原创 springboot整合vue(一)实现登录

要使用的技术:1.前端使用: vue + elementui + axios + css + html2.后端使用: springboot+mybatis-plus +mybatis+druid+swagger2+redis。

2022-08-08 21:48:20 710

原创 Vue高级--前后端分离

前后端完成分离。实际开发中前端也会有自己的服务器,也有自己的开发工具。前端服务器Nodejs 开发工具VsCode[本文为了和idea匹配使用WebStorm].

2022-08-08 21:01:38 1631 2

原创 redis常见的面试题

redis常见的面试题--缓存穿透、缓存雪崩、缓存击穿、Redis淘汰策略

2022-08-03 21:42:36 82

原创 springboot与redis

springboot对redis的操作封装了两个StringRedisTemplate和RedisTemplate类,StringRedisTemplate是RedisTemplate的子类,StringRedisTemplate它只能存储字符串类型,无法存储对象类型。上面的RedisTemplate需要每次都指定key value以及field的序列化方式,可以创建一个配置类,为RedisTemplate指定好序列化。使用RedisTemplate 必须要指定序列化方式,默认使用jdk序列化方式。....

2022-08-03 21:35:40 1897

原创 shiro安全框架初识--shiro简介、认证与授权

Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和session会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。并且相对于其他安全框架spring security,Shiro 要简单的多.Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以帮助我们完成:认证、授权、加密、会话管理、与Web集成、缓存等。...

2022-08-03 19:55:04 932

原创 java连接redis

java连接redis的三种方式---1.使用jedis 2.使用连接池连接redis 3.java连接redis集群模式

2022-08-01 21:35:28 3611

原创 redis集群模式

redis的三种模式: 1.主从复制模式 2.哨兵模式 3.集群化模式

2022-08-01 20:21:54 303

原创 redis---非关系型数据库(NoSql)

nosql(notonlysql)不仅仅是sql。NoSQL,泛指非关系型的数据库。非关系型的数据库则由于其本身的特点得到了非常迅速的发展。非关系数据库和关系型数据库之间的区别RDBMS---关系型数据-高度组织化结构化数据。-结构化查询语言(SQL)select-数据和关系都存储在单独的表中。-数据操纵语言DML,数据定义语言DDL-严格的一致性.事务ACID-基于事务NoSQL--非关系型数据库---缓存数据-代表着不仅仅是SQL。............

2022-08-01 11:05:54 375

原创 Linux系统安装nginx服务器与nginx的三大核心

Nginx(enginex)是一个高性能的HTTP和反向代理web服务器,其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。开源软件,服务器软件.能够支持高达50,000个并发连接数的响应,............

2022-07-31 21:46:23 484

原创 Linux虚拟机安装jdk1.8、tomcat9、mysql

软件的安装方式二进制安装。---只需要解压就可以。只针对特殊平台。比如jdktomcatRPM按照一定的规范就可以按照该软件。无法安装依赖的文件。yum远程安装基于RPM帮你把依赖的文件安装上去。多安装源码安装。编译--->打包---->安装。...

2022-07-30 13:50:16 985

原创 Linux系统初识(使用centos7镜像 )--项目部署与简单命令、静态ip

Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。......

2022-07-27 12:09:27 353

原创 linux中ping命令网络不可达或ping www.baidu.com未知的名称与服务

linux中ping命令网络不可达或ping www.baidu.com未知的名称与服务

2022-07-27 10:29:36 25676 13

原创 SpringBoot框架

springboot可以帮你简化spring的搭建,并且快速创建一个spring的应用程序。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置思考我们在实际开发中,环境有哪些?开发环境---->测试环境---->线上环境由于环境的不同,那么就会有不同的配置内容。难道我们不断的修改配置内容。----不会实际工作中,针对不同的环境配置不同的配置文件,然后再总的配置文件中激活相应的配置文件。......

2022-07-23 10:03:36 435

原创 JDK8的特性

jdk8的特性:1. lambda表达式。2. 函数式接口。3. 方法引用。4. Stream流。5. 日期时间类。

2022-07-20 09:37:24 159

原创 spring--事务

从开启到提交为一个事务。由此可见,一个事务对应一组业务。一个事务中间可以有一条sql,多条sql。所以一个业务开始之前开启事务一个业务结束之后提交事务。我们这个转账案例需要几个事务?可以写成两个事务,但是不合适。因为我们的需求让张三减的同时让李四加钱。只能写成一个事务。把多条sql语句当作一件事情,要同时都能执行到。事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。...

2022-07-19 11:07:35 830

原创 java---线程

线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。线程,被称为轻量进程(lightweightprocesses),进程中的一条执行路径,也是CPU的基本调度单位。一个进程由一个或多个线程组成,彼此间完成不同的工作,同时执行,称为多线程。进程与线程的区别1.进程是操作系统资源分配的基本单位,而线程是CPU的基本调度单位。2.一个程序运行后至少有一个进程。...

2022-07-18 21:50:51 314

原创 java高级---反射

反射是框架设计的灵魂,框架它是一个半成品,可以拿来使用,添加上自己的业务代码。提高开发效率。反射就是把类中成员抽取成其他类的过程。这就是反射。Java的反射(reflection)机制是指在程序的运行状态中,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。在运行时判断任意一个对象所属的类;在运行时构造任意一个类的对象;}...

2022-07-14 22:22:31 257

原创 java---注解

注释: java不会编译注释的内容,给程序员看的。注解: 给程序看,当程序看到这个注解时,就会解析它。譬如: @Controller @Override 注解的分类:注解的定义: 可以看作是对一个类/方法的一个扩展的模版,每个类/方法按照注解类中的规则,来为类/方法注解不同的参数,在用到的地方可以得到不同的 类/方法中注解的各种参数与值。 注解也就是Annotation,注解不是一段辅助性的文字。 从JDK5开始,Java增加对元数据的支持,也就是注解,注解与注释是

2022-07-14 10:16:00 236

mysql-installer-community-8.0.11版本

mysql8.0版本,适用于初学者,该版本较于其它版本稳定一些。

2022-04-21

空空如也

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

TA关注的人

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