自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MQ、RabbitMQ面试题(面试必问,精华版)

RabbitMQ是一款开源的,Erlang编写的,基于AMQP协议的消息中间件,核心思想是生产者不会将消息直接发送给队列,消息在发给客户端时会先发给交换机,然后再由交换机发送给对应的队列。1、在消息生产时,MQ内部针对每条生产者发送的消息生成一个inner-msg-id,作为去重和幂等的依据(消息投递失败并重传),避免重复的消息进入队列;1、 拿到这个消息做数据库的insert操作。2.一旦消息被投递到目的队列后,或者消息被写入磁盘后(可持久化的消息),信道会发送一个确认给生产者(包含消息唯一 ID)。

2023-09-18 15:44:17 140

原创 JAVA中的各种中间件

分布式日志:elasticsearch、logstash、Kibana 、redis、kafka等等。数据库:MySql、Redis、MongoDB、PostgreSQL、Memcache、HBase。消费队列:RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka。负载均衡:DNS、F5、LVS、Nginx、OpenResty、HAproxy。注册中心:Eureka、Zookeeper、Redis、Etcd、Consul。文件系统:OSS、NFS、FastDFS、MogileFS。

2023-09-18 09:15:41 305

原创 Linux详解

Linux系统一般有四个主要部分:内核、shell、文件系统、应用程序。前三者一起构成了基本的操作系统结构,它使得用户可以使用这个操作系统并在系统中完成特定的任务。其结构如下图所示。

2023-09-15 14:02:07 114

原创 spring 注解

Transactional 注解放在类级别时,表示所有该类的公共方法都配置相同的事务属性信息。当类级别配置了@Transactional,方法级别也配置了@Transactional,应用程序会以方法级别的事务属性信息来管理事务,换言之,方法级别的事务属性信息会覆盖类级别的相关配置信息。@Autowired、@Inject是默认按照类型匹配的,@Resource是按照名称匹配的,@Autowired如果需要按照名称匹配需要和@Qualifier一起使用,@Inject和@Name一起使用。

2023-05-23 14:23:49 109

原创 seata 服务搭建

例如:事务T1修改了一行数据,但是还没有提交,这时候事务T2读取了被事务T1修改后的数据,之后事务T1因为某种原因Rollback了,那么事务T2读取的数据就是脏的。1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行。以操作同一行数据为前提,读事务禁止其他写事务但不阻塞读事务,未提交的写事务禁止其他读事务和写事务。读事务不阻塞其他读事务和写事务,未提交的写事务阻塞其他写事务但不阻塞读事务。

2023-05-23 14:22:18 669

原创 springclud ---- 微服务保护

1.1 认识sentinelSentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。1.2 sentinel 特性Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。1.3 雪崩问题微服务中调用某个链路的服务故障 ,造成链路中整个服务都不可用,这就是雪崩;

2023-05-19 16:26:55 159

原创 springcloud ---02

springCloud Sleuth主要功能就是在分布式系统中提供追踪解决方案。它大量借用了Google Dapper的设计, 先来了解一下Sleuth中的术语和相关概念。*1.Trace**(一条完整链路--包含很多span(微服务接口))*由一组Trace Id(贯穿整个链路)相同的Span串联形成一个树状结构。

2023-05-17 21:19:04 247

原创 springCloud --- 01

在Feign的实现下,我们只需要创建一个接口并使用注解的方式来配置它(以前是Dao接口上面标注Mapper注解,现在是一个微服务接口上面标注一个Feign即可),即可完成对服务提供方的接口绑定,简化了使用Spring Cloud Ribbon时,自动封装服务调用客户端的开发量。然而,我们的网站对外提供的访问入口都是一个的,比如。Feign是Spring Cloud组件中的一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。

2023-05-15 20:35:17 66

原创 3 docker

docker 自定义镜像1 .docker 镜像的原理思考:Docker镜像本质是什么?Docker中一个centos镜像为什么只有200MB,而一个centos操作系统的iso文件要几个G?Docker中一个tomcat镜像为什么有500MB,而一个tomcat安装包只有10多MB?操作系统组成部分: 计算机组成原理进程调度子系统进程通信子系统内存管理子系统设备管理子系统==文件管理子系统==网络通信子系统作业控制子系统。

2023-05-12 22:46:56 42

原创 2 docker

1. 数据卷1.1 什么是数据卷数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直接映射进容器,它可以提供很多有用的特性:1.数据卷 可以在容器之间共享和重用2.对数据卷的修改会立马生效3.对数据卷的更新,不会影响镜像4.数据卷 默认会一直存在,即使容器被删除1.2 数据卷可以解决什么问题​​​​​因容器与数据(容器内文件)耦合所引发的问题:1 容器内数据修改困难:修改时需进入容器内操作,操作复杂不方便。

2023-05-11 12:49:48 36

原创 1 Docker

对于开发和运维人员来说,最希望的效果就是一次创建或者配置后,可以在任意地方、任意时间让应用正常运行,对于算法研究人员来说,可能不同的算法需要不同版本的软件,那么在同一个环境中就会存在冲突,docker 的环境隔离就可以很方便的用于不同环境的配置。Docker是基于Go语言进行开发实现,一个开源的应用容器引擎。采用Linux内核的cgroup,namespace,以及AUFS类的Union FS等技术,对进程进行封装隔离,也可以实现虚拟化,隔离的进程独立于宿主和其他的隔离进程,因此也称其为容器。

2023-05-09 21:59:31 44

原创 Easyexcel

6 . easyexcel完成数据库读写操作。5 . easyexcel完成复杂读操作。3. easyexcel完成写操作。4. easyexcel完成读操作。6.5 controller层。6.4 创建数据库并添加数据。1. 简 介 概 述。3.1. 引入依赖。3.2 . 封装对象。3.3 完成写入操作。

2023-05-04 10:36:29 275

原创 布隆过滤器

Counting Bloom Filter将标准 Bloom Filter位数组的每一位扩展为一个小的计数器(counter),在插入元素时给对应的k(k为哈希函数个数)个Counter的值分别加1,删除元素时给对应的k个Counter的值分别减1。(4)最后,需要检查一个元素是否在已有的集合中时,同样用这k个哈希函数把要判断的元素映射到bit数组的位置上,只要bit数组被映射到的位中有一个位不是1,那一定说明了这个元素不在已有的集合内。初始时,将m位的bit数组的每个位置的元素都置为0。

2023-04-27 19:39:08 47

原创 jenkins 部署 配置

如果这时项目也部署到当作jenkins所在的服务器,势必会导致项目在后期运行时由于资源不够,而导致无法运行。所以我们的项目需要单独再一个服务器运行。jenkins打包好的项目jar在自己所在的服务器,而项目运行需要在其他服务器。我们再远程复制时需要输入另一台服务器222的密码. 由于后期需要jenkins软件帮你完成远程的复制功能。修改idea中的代码并提交到gitee上,会自动触发jenkins---拉取--编译---打包。----必须要配置内网穿透。执行过程中一定不要关闭 内网 穿透!

2023-04-27 17:24:46 464

原创 Jenkins 学习安装软件01

1. 什么是Jenkins?Jenkins是一个项目,是基于开发的一种工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。2. 为什么要使用jenkins通过使用Jenkins,软件公司可以加快其软件开发过程,因为Jenkins可以快速自动构建和测试。Jenkins支持软件的完整开发生命周期,包括构建,测试,记录软件,部署以及软件开发生命周期的其他阶段。

2023-04-26 21:24:04 42

原创 redis 缓存 和 分布式锁

1. redis缓存当执行增删改操纵时必须保证缓存和数据库数据一致性。---删除缓存1.1 增删改service:2. redis使用分布式锁(1)通过使用jmeter压测工具测试问题 :同一个库存数被多个线程卖,线程安全问题。---思考:之间出现线程安全问题时如何解决。解决 :可以使用锁解决:----synchronized和Lock锁需要在idea中跑项目的集群配置nginx启动nginxjmeter压测问题: 两台集群出现重卖问题。

2023-04-26 11:11:11 80

原创 Java 、Springboot 连接整合 redis

1. 连 接 redis默认有三种方式连接redis.第一种:jedis---传统的项目--ssm第二种:lettuce:---->刚出现没有多久就被springboot整合进来。第三种:springboot连接redis1.1 jedis操作redis服务器(1)引入jedis依赖(2)编写相关的代码1.2 .测试jedis使用和不使用连接池的效率配置连接池(1.) 不使用连接池(2.)使用连接池结论:使用连接池 比没用要快很多2. springboot 整合redis。

2023-04-25 17:10:38 1044

原创 redis 02

热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,毕竟强大到冒泡的QPS和极强的稳定性不是所有类似工具都有的,而且相比于memcached还提供了丰富的数据类型可以使用,另外,内存中的数据也提供了AOF和RDB等持久化机制可以选择,要冷、热的还是忽冷忽热的都可选。是指,将redis执行的所有写命令记录到日志文件中,将被执行的写命令写到AOF的文件末尾,当redis重启时,redis会从头到尾执行一次AOF文件所包含的所有写命令,以此回复AOF文件的记录的数据集。

2023-04-24 11:18:51 39

原创 redis 01

多路I/O复用模型是利用 select、poll、epoll 可以同时监察多个流的 I/O 事件的能力,在空闲的时候,会把当前线程阻塞掉,当有一个或多个流有 I/O 事件时,就从阻塞态中唤醒,于是程序就会轮询一遍所有的流(epoll 是只轮询那些真正发出了事件的流),并且只依次顺序的处理就绪的流,这种做法就避免了大量的无用操作。关系型数据天然就是表格式的,因此存储在数据表的行和列中。内存数据库,速度快,也支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。

2023-04-23 11:00:05 51

原创 nginx 的核心功能

1. 反向代理1. 反向代理1.1 nginx 的正向代理正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。就像要访问google用代理翻墙去访问(用户知道要访问真正的服务器)

2023-04-21 10:31:52 61

原创 nat和桥接网络 + nginx + 桥接模式软件下载

1.Nat 和桥接网络1.1 Nat 和桥接网络的区别natNAT(Network Address Translator,网络地址转换)是用于在本地网络中使用私有地址,在连接互联网时转而使用全局 IP 地址的技术。NAT实际上是为解决而开发的技术。体系图:桥接网络:桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。

2023-04-20 11:13:46 383

原创 Linux 安 装 部 分 软 件

1. 安装jdk软件的安装方式:二进制安装。---只需要解压就可以。只针对特殊平台。比如jdk tomcatRPM: 按照一定的规范就可以按照该软件。无法安装依赖的文件。yum 远程安装 基于RPM 帮你把依赖的文件安装上去。多安装源码安装。编译--->打包---->安装。(1)把window中的jdk软件托到centos中并解压(2) 重命名(3)配置环境变量(4)重新加在profile文件验证: 在任意位置输入 javac 命令2 .安装tomcat。

2023-04-19 10:50:54 33

原创 linux 02

1.linux-centos7的目录结构1.linux-centos7的目录结构1.1 树 状 结 构1.2 目录详解/bin: bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。/boot:这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev :dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。

2023-04-19 10:33:08 31

原创 vue-element-cli组件和安装linux系统

在vue-router单页面应用中,则是路径之间的切换,实际上就是组件的切换。之前是在项目中导入了axios 的插件 ,所以可以直接使用axios.post请求,但是现在在vue组件中无法引入script. 而且我们在创建vue工程时已经安装了axios的依赖插件。---我们为了模拟服务器--所以需要安装虚拟机---然后再虚拟机中安装服务器--centos7。组件机制的设计,可以让开发者把一个复杂的应用分割成一个个功能独立组件,降低开发的难度的同时,也提供了极好的复用性和可维护性。4.1 直接运行会报错。

2023-04-17 20:49:13 276

原创 vue-elementUi-day02

springboot中,在Controller类上添加一个 @CrossOrigin(origins ="*") 注解就可以实现对当前controller 的跨域访问了,当然这个标签也可以加到方法上,或者直接加到入口类上对所有接口进行跨域处理,注意这个注解只在JDK1.8版本以上才起作用。是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。(1)基于 Vue.js,可以和 Vue.js 很好地配合使用,方便开发者熟悉 Vue.js 的使用。

2023-04-16 16:59:23 153

原创 vue - day01

axios前端异步请求库类似jouery ajax技术,ajax用来在页面发起异步请求到后端服务,并将后端服务响应数据渲染到页面上,jq推荐ajax技术,但vue里面并不榷荐在使用jquery框架,vue推荐使用axios异步请求库。:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。v-for循环指令是需要以 item in list形式的特殊语法,list是源数据数组, item 是数据组元素迭代的别名。

2023-04-15 13:45:45 32

原创 springboot整合-swagger2-定时器-quartz

Swagger是为了解决企业中接口(api)中定义统一标准规范的文档生成工具。方便各大后端小基友的懒问题,但是写注解也是妥妥的麻烦,但是如果版本迭代快或者人员的流动性大,会导致很多问题。所以很多企业中都会有统一的规范文档,来定义接口标准。Quartz是Java定时任务领域一个非常优秀的框架,由Job:顾名思义,指待定时执行的具体工作内容;Trigger:触发器,指定运行参数,包括运行次数、运行开始时间和技术时间、运行时长等;Scheduler:调度器,将Job和Trigger。

2023-04-13 11:15:12 159

原创 Java ssm 整合

1. ssm整合1. ssm整合Java SSM框架即指Spring+SpringMVC+MyBatis的简称,框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容),常作为数据源较简单的web项目的框架。相比于之前的SSH(Spring+Struts+Hibernate),SSM更加轻量化和灵活,是目前业界主流的Java Web开发框架。框架体系图maven环境: 本地仓库 和 镜像【阿里镜像|私服】

2023-04-12 13:50:59 69

原创 Java 基础

java

2023-04-12 13:50:45 52

原创 springboot框架整合

1.什么是springbootSpring Boot是由Pivotal团队提供的全新,其设计目的是用来新应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者.2.springboot 框架的特点及优缺点(1)可以创建独立的应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;

2023-04-12 13:48:55 403

原创 spring-mybatisplus整合内容

(简称 MP)是一个的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。不能替代mybatis ,以后对于单表操作的所有功能,都可以使用mp完成。但是链表操作的功能还得要校验mybatis.

2023-04-12 13:48:41 111 1

空空如也

空空如也

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

TA关注的人

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