自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (91)
  • 收藏
  • 关注

原创 索引实现原理

1. 索引的介绍一种数据结构,为了快速找到数据记录,索引存储在内存中主要作用是:加快查询速度,提高数据库性能2. 数据库中索引的分类普通索引:最基本的索引没有任何限制唯一索引:与普通索引类似,索引列的值必须唯一,允许null,如果是组合索引则列值的组合必须唯一主键索引:特殊的唯一索引,不允许有null,作为一张表唯一的标识是表中的某一条记录联合索引:多个字段上建立的索引,能加快符合查询全文索引:用于全文搜索的索引3. 索引的底层实现原理每种存储引擎的索引都不一定完全相

2021-10-09 11:33:51 1655

原创 线程池运行原理

核心参数:corePollSize:核心线程池的大小maximumPollSize:线程池能创建线程的最大个数keepAliveTime:空闲线程存活时间unit:时间单位,为keepAliveTime指定时间单位workQueque:阻塞队列,用于保存任务的阻塞队列threadFactory:创建线程的工厂类handler:饱和策略(拒绝策略)过程:当我们获取线程池中的线程执行任务时线程池会先判断核心线程池是否已满?添加到阻塞队列等待:在核心队列中创建线程提供给我们

2021-07-22 23:09:33 190

原创 spring的aop

一般称为面向切面编程,作为面向对象的一种补充,用于将一些和业务无关的公共行为和逻辑抽取封装为一个可重用的模块,这个模块被命名为切面;每次运行时,为方法生成一个AOP代理对象,对特定的切点做了增强,并反射调原对象的方法springaop中的动态代理主要分两种,jdk动态代理和cglib动态代理jdk动态代理只提供接口,基于接口实现关系的代理,不支持类代理,核心为invocationHandler接口和Proxy类proxy利用invocationHandler动态创建符合某一接口的实例并生成目标类

2021-07-22 22:30:24 164

原创 git常用命令和图解流程

clone:原厂仓库到本地仓库拉取push:本地仓库到远程仓库推送pull:远程仓库到工作区拉取checkout:本地仓库到工作区拉取add:工作区到暂存区提交commit:暂存区到本地仓库提交

2021-07-22 21:59:11 180

原创 springcloud五大组件及介绍

springcloud介绍:springcloud是一系列框架的集合,集成springboot,提供很多优秀服务的微服务治理框架优势:源自spring,稳定性好,持久性强,质量可保证天热支持springboot,提高开发效率,实现需求springcloud后期支持足,更新快springcloud可以用于开发微服务核心组件:1. 注册中心:nacos等于同时添加了Eureka和配置中心,不能和Eureka一起用2. Ribbon负载均衡:Netflix提高的基于HTTP和T

2021-07-21 22:31:43 455

原创 集合和常用数据结构

1. 常见的数据结构数组:最常用,长度固定无法扩容,只能存储一种数据类型的数据,增删慢,查询快栈:先进的数据后出(FILO),只能在一段进行插入和删除操作,先进入的数据压栈存储,后进入的数据先弹栈被读取队列:先进先出(FIFO),只能在一段进行插入在另一端进行删除的特殊线性表,先进入的数据先被读取链表:增删快查询慢,是物理存储单元上的非连续非顺序的存储结构,链表有节点组成,节点可以在运行时动态生成,数据元素的逻辑顺序是靠链表中的指针连接次序实现的,指针的指向可形成不同的链表结构,如:单链表,

2021-07-21 20:59:40 465

原创 jdk1.8

1. lambda表达式:运行把一个函数作为方法的参数2. 方法引用:允许直接引用已有的java类的方法或构造方法3. 函数式接口:函数式接口上通常会添加@FunctionalInterface注解,仅有一个抽象方法的接口叫函数式接口,函数式接口可以被隐式转换成lambda表达式4. 接口允许定义默认方法和静态方法:允许接口中存在一个或多个默认非抽象方法和静态方法5. stream api:函数式编程风格,将要处理的元素集看做一种流,流在管道中传输,并且可以在管道的节点上

2021-07-21 19:27:05 96

原创 数据链路层的负载均衡

链路概念指的是一条点到点的连续不断的线路段,中间没有其他点,我理解为一条小时候玩的"传音绳",两头都可以传输,中间有其他点就会收不到数据数据链路指的是,可以传输数据的线路,线路上添加了一些数据传输的规定,相当于在绳子表面涂了一层颜色,响应颜色的绳只能传输响应格式的数据,必须要遵守工作流程:发送:链路的负载均衡设备接收到内网的流量;根据目的ip查找到ip所属运营商,将流量转发给通向运营商的链路,运营商运营的是外网,一个外网下有很多内网接收:链路负载均衡设备接收到外网用户流量;直接将流量

2021-07-21 00:17:24 500

原创 Nginx技术介绍

1 Nginx介绍Nginx是一个高性能的http和反向代理服务器,及电子邮件代理服务器可实现高效的 反向代理和负载均衡2 Nginx作用反向代理,将多台服务器代理成一台服务器负载均衡,将多个请求均匀分配到多台服务器上,减轻服务器的压力,提高服务的吞吐量动静分离,静态文件页面等的缓存服务器,提高访问速度,客户体验更好3 Nginx的优势可以高并发连接(5万并发量,实际也有2~4万)内存消耗少成本低廉配置文件非常简单支持Rewrite重写内置的健康检查功能

2021-07-20 21:34:02 362

原创 RocketMQ和kafka

RocketMQ:分为集群消息(一组中只有一个消费者竞争到消息)和广播消息(组内消费者都会消费消息);相关概念有:topic(一个消息的主题,一级分类),tag:(消息的二级分类),queque:(消息队列,brocker里直接存储消息就是在queque里存储的,一个主题默认4个队列,RocketMQ把消息队列分散到不同的brocker里)kafka:是一个分布式流媒体平台,可以发布订阅记录流,类似消息队列和消息传递系统,可以以容错的持久方式存储记录流,可以在记录发生时处理流;常用做:构建系统.

2021-07-19 00:08:56 328 1

原创 负载均衡相关Ribbon&Nginx&网关和Eureka组件

ribbon是客户端负载均衡工具,是Netflix提供的基于http和tcp协议的客户端负载均衡工具,存在微服务中,解决了微服务负载均衡问题;Eureka集成ribbon后,变成服务端负载均衡,负载均衡算法在服务端,负载均衡器维护地址列表:Eureka是Netflix格式开源的服务注册与发现组件,和负载均衡.熔断器,网关等一起被springcloud社区整合为spring-cloud-Netflix模块Nginx是服务端负载均衡,由代理服务器接收分发请求并返回响应...

2021-07-18 23:47:20 669 1

原创 分片和分区的概念及区别

分片:分布式存储中当数据量太大,单点存储空间有限是,数据分片的概念产生了,它是对技术的抽象增强,按一定规则将数据分类存储,数据还没存进数据库之前,对数据分片,存到约定好的地方,是横向加强;把数据拆分成平均多份,每一份存储到不同的子节点上,同时达到负载均衡和扩容的目的,这就叫数据的分片,也叫数据的分布式存储;如:Redis3.0加入了cluster,实现了集群的分布式存储也就是分片:Rediscluster没有使用一致性hash,而是引入了哈希槽概念Rediscluster集群有16.

2021-07-18 22:53:23 5089

原创 调用阿里云内容安全检测是出现错误一直返回null:ERROR 4416 --- [nio-xxxx-exec-4] upload file fail.

问题:在使用阿里云内容安全检测时,刚刚运行的上一项目还好着,换了个工程不行了,怎么都返回null,一切正常就是没有返回值dataId和content,还好没多久发现了问题,分享一下这个小坑;错误原因:配置文件中秘钥使用了阿里云账号自己创建的子用户生成的秘钥,此秘钥应该会失效,解决:换成当前阿里云用户的可用永久秘钥就好了,别用子用户生成的秘钥;...

2021-07-17 23:21:25 583

原创 阿里云OSS的相关概念

介绍:阿里云OSS是一个对象存储服务,阿里云提供的 海量,安全,低成本,高可靠的云存储服务;数据设计持久性不低于99.9999999999%,服务设计可用性不低于99.99%;提供RESTful API接口,接口和平台无关,可在任何地方任何应用任何地点存储数据,数据类型任意;可作为移动应用,大型网站,图片分享,或热点音视频的主要存储方式提供低成本,存储时间长的低频访问类型和归档类型,可作为备份和归档相关概念:1.Storage Class存储类型:OSS提供标准(支持频繁数据访问

2021-07-16 20:34:54 531

原创 FastDFS分布式文件系统

首先介绍:FastDFS是国人用c语言开发的轻量级分布式文件存储系统,没有使用数据库,其思路借鉴了mogileFS,但比它更加完善;解决了大容量存储和负载均衡的问题;非常适合以文件为载体的在线服务,如:相册网站和视频网站组成:Storage server(存储服务器) 和 Tracker server(调度服务器)Storageserver:一般以组(group)为单位,一个组有多个storageserver,数据互为备份,同组内的storageserver存储数据都一样,组合组(卷和卷..

2021-07-14 21:32:27 149

原创 Nginx

介绍:Nginx是高性能服务器,可以实现静态资源热部署,反向代理服务器,负载均衡,及可以做电子邮件的代理服务器Nginx高性能得益于,它的事件处理机制,采用异步非阻塞时间处理机制:运用了epoll模型,提供队列,排队处理事件epoll模型:​​​​​​​​​​​​​​​​​​​​​Nginx作用:反向代理,将多态服务器代理成一台,负责分发所有请求负载均衡,多个请求均匀的分配到多个服务器,减轻各个...

2021-07-14 19:01:53 54

原创 MongoDB数据库

介绍:1 MongoDB是非关系型文档型数据库,开源,高性能,高可用,高扩展2 数据存储层级:文档(对应行)->集合(对应表)->数据库3 关系型数据库中的一行对应MongoDB数据库中的一个文档4 存储数据格式是BSON格式,相当于另一种jsonMongoDB和关系型数据库区别:MongoDB默认有三个数据库:一个MongoDB可以建立多个数据库,它们相互独立,默认的有三个,admin,local,configadmin:这就相当于"root"数据...

2021-07-14 18:04:18 1712

原创 Redis

1.Redis介绍:Redis是C语言开发的开源高性能,非关系型的key-value存储型数据库;可以用在数据库,缓存,消息中间件等.优点:纯内存操作,性能强,每秒10万次读写速度,最快的key-value数据库;支持事务支持持久化;单线程操作,避免上下文频繁切换;非阻塞IO实现了多路复用,多路复用指的是单线程监控多i/o状态来管理,可高并发缺点:一致性问题,缓存的数据和数据库数据不一致时,客户得到的数据就不正确了,解决:更新数据库时,删除缓存或使用消息队列并..

2021-07-14 14:47:08 76

原创 zookeeper

从节点开始:1.znode结构和window环境中的文件夹结构相似,zookeeper中每一个节点被认为一个znode2.每个znode以"/"开头,通过路径引用,并且路径时绝对路径,每个路径都是唯一且不可改变的3.引用的路径由Unicode字符串组成,加入一些限制,有特定含义,如"/zookeeper"用于存管理信息4.znode兼备存储和目录两种特点,既可以存数据,有可以当做路径被调用5.znode由三部分组成:stat表示状态信息版本等..data表示关联数据,children..

2021-07-14 00:10:56 138 1

原创 dubbo组成和调用关系流程

1. 服务容器: 负责启动,加载,运行服务提供者2. 服务提供者: 在启动时向注册中心注册自己提供的服务3. 服务消费者: 在启动时向注册中心订阅自己锁需要的服务4. 注册中心: 给消费者发提供者的地址,若有改变,注册中心基于长链接及时推送变更消息5. 服务消费者: 从服务列表选一台调用,调用失败则重新选一台调用6. 台调用: 记录调用次数调用时间,定时发统计数据包到监控中心...

2021-07-13 00:06:04 74

原创 dubbo服务集群的容错模式

1. Failover Cluster:连接失败自动连接其他服务器,这是默认的容错模式;常用于读2. Failfast Cluster: 连接失败直接报错,不重试;常用于写3. 失败安全: 连接失败直接忽略,然后执行下面任务;常用于日志4. 失败自动恢复: 连接失败定时发送请求,重试的是同一台服务;常用于通知5. 并行调用: 调多个服务执行,有一个成功就成功;常用于实时性要求高的读6. 广播调用: 逐个调用服务,有一个报错,直接报错;常用于通知提供者更新本地缓存,日志或资源信息...

2021-07-12 23:53:52 76

原创 Eureka和Zookeeper的区别(摘要)

1.Eureka满足AP(可用性和容错性) : Zookeeper满足CP(一致性和容错性)Eureka没有服务者心跳进入自我保护 : Zookeeper接收不到服务心跳立即剔除服务2.Eureka集群节点间平等关系 : Zookeeper集群节点会自动选主(有可能会宕机)3.Eureka服务发现者30秒拉取一次服务并缓存 : Zookeeper监听者变化立即通知客户,拉取服务...

2021-07-12 22:18:01 128

原创 数据库事务特性和隔离级别(精炼)

事务四大特性1. 原子性: 事务要么全部执行,要么全部不执行2. 一致性: 数据库数据保持我们提前约束好的正确状态范围,如果不正确就会回滚,事务的执行前后数据必须都是保持在正确的状态3. 隔离性: 理论上事务与事务之间完全隔离互不干扰,也就是说事务正确提交前不允许将数据的任何改变提交给其他事务4. 持久性: 事务执行完成,正确提交后,数据的改动会永久保存,就算有其他重大故障数据也会被保存四种隔离级别1. 读未提交...

2021-07-10 00:00:40 55

原创 数据库三范式(简要描述)

第一范式: 原子性 要求表中,每个字段或列具有原子性,不能在拆分;(属性具有原子性)第二范式: 唯一性 要求一张表只描述一件事,且有唯一的标识;(对记录有唯一的标识)第三范式: 直接性 要求表中字段都必须与主键是直接关系,不能间接关联主键;(每个属性直接关联主键)...

2021-07-09 23:21:08 318

原创 cookie和session的区别

1. cookie存储客户端 ; session存储服务端2. cookie单个容量<=4k,一个站最多20个cookie ; session无上限3. cookie只保存ASCII字符串 ; session不限类型4. cookie对客户可见不安全 ; session安全5. cookie可设置长期有效 ; session默认不能达到长期有效...

2021-07-09 22:28:30 65

原创 TCP三次握手

客户端和服务器为了能准确无误的将数据送达对方,需要确认对方的收发正常1. 第一次握手: 客户端发送标记有SYN的数据包给服务端2. 第二次握手: 服务端收到消息,返回有SYN/ACK的数据包给客户端(此时服务端不知道客户端收数据是否正常)3. 第三次握手: 客户端返回表演ACK的数据包给服务端...

2021-07-09 21:53:54 59

原创 什么是HTTP协议?

1. 是应用层的传输格式规范,简称"超文本传输协议"2. 是客户端和服务器之间的无状态的数据传输格式3. 是基于TCP连接的基于请求与响应模式的数据传输规范

2021-07-09 14:31:19 105

原创 线程的七种状态

1.初始(NEW):刚被创建,还没运行(未执行线程的start()方法)2.就绪状态(READY):线程在可运行线程池中,但未获得CPU执行权,和RUNNING并称运行3.运行中状态(RUNNING):线程执行并获得CPU执行权,和READY并称运行4.阻塞(BLOCK):等待其他线程释放锁的状态5.等待(WAITING):需要其他线程做出一些约定好的动作,或被唤醒(通知或中断)6.超时等待(TIME_WAITING):和等待的不同点在于可以在指定的时间自行醒来7.终止(TERMEN

2021-07-09 14:23:47 2131

原创 进程和线程小结

进程: 1.进程是具有一定独立功能的程序关于某个数据集合上的一次活动(简单说就是一个程序的一次启动到关闭) 2.进程是操作系统进行资源调度和分配的一个独立的单位 3.进程和进程之间的内存单元是相互独立的线程: 1.线程是进程的一个实体 2.线程是CPU的调度和分配的基本单元 3.线程是比进程更小的可以独立运行的基本单位 4.统一进程中多个线程之间的内存是共享的所以说,多线程的...

2021-07-08 21:39:56 188

原创 2021-07-08

# 分析文档POST _analyze{ "analyzer": "ik_max_word", "text": "我是中国人"}# 创建索引库# 简化前{ "settings": { "属性名": "属性值" }}# 简化后 创建索引库PUT aaa# 查看索引库 elasticsearch中查看已添加表aaaGET aaa# 删除索引库DELETE aaa# 创建字段(表)PUT aaa# 创建映射(aaa中添加_doc类型...

2021-07-08 20:56:30 94

原创 倒排索引使用说明

先看一下正序索引以做对比:elasticsearch会将写入的所有信息组织为倒排索引的结构形式(这里以"床前明月光"为例): 第一步:es将"床前明月光"-->分词(将一段文本按一定规则,拆分为不同词条term)如:床,前,床前,明月,月,光,月光 第二步:es会记录词条和数据的唯一标识id的对应关系,形成产物倒序索引:是一种将词条映射到文档的数据结构,可以说倒序索引时面向词条的而不是传统关系数据库那样面向文档的其他同理,最终得到:...

2021-07-08 20:46:41 397

原创 elasticsearch查询时报错:“status“: 400

错误信息如下:原因:在题主写插入数据语句时意识大意将单词拼错,所以铸成错误;此时需要将名改正或者将此库删除,重新添加数据,在运行,一切回复正常....

2021-07-08 19:47:38 3317

原创 -全局过滤器

概要: GlobalFilter 全局过滤器,不需要在配置文件中配置,系统初始化时加载,并作用在每个路由上。 Spring Cloud Gateway 核心的功能也是通过内置的全局过滤器来完成。 自定义全局过滤器步骤: 定义类实现 GlobalFilter 和 Ordered接口 复写方法 完成逻辑处理假定需求:判断请求头中是否有token,没有就返回(401) ...

2021-07-06 20:01:45 411

原创 Gateway简单实现

概述: 网关旨在为微服务架构提供一种简单而有效的统一的API路由管理方式。 在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。 存在的问题: 1.客户端多次请求不同的微服务,增加客户端的复杂性 2.认证复杂,每个服务都要进行认证 3.http请求不同服务次数增加,性能不高 网关就是系统的入口,封装了应用程序的内...

2021-07-06 18:14:32 587

原创 Hystrix支持的降级逻辑实现

第一步:Feign默认也有对Hystix的集成,只不过,默认情况下是关闭的。我们需要通过下面的参数来开启:(在消费端consumer中yml文件中加配置)feign: hystrix: enabled: true注意:(实现方法多种这里先介绍一种)第二步:在controller中开放接口@Autowiredprivate UserFeign userFeign;@GetMapping("/user/{id}")public User getUserById(@P...

2021-07-06 17:42:09 171

注解开发和xml+注解开发spring整合Junit.emmx

使用mindmaster打开

2021-07-18

重载和重写的区别.emmx

使用mindmaster打开

2021-07-18

域对象总结介绍.emmx

使用mindmaster打开

2021-07-18

优化数据库(索引优化)和索引介绍.emmx

使用mindmaster打开

2021-07-18

依赖冲突和依赖传递介绍及解决方案.emmx

使用mindmaster打开

2021-07-18

写相对路径技巧.emmx

使用mindmaster打开

2021-07-18

文件上传(跨服务器文件上传,filter上传,springmvc文件上传)步骤.emmx

使用mindmaster打开

2021-07-18

数据库(关系和非关系,内存和硬盘)mysql和Redis.emmx

使用mindmaster打开

2021-07-18

事务特性问题隔离级别.emmx

使用mindmaster打开

2021-07-18

使用域名访问项目.emmx

使用mindmaster打开

2021-07-18

设计模式总结分类和详情.emmx

使用mindmaster打开

2021-07-18

三大框架介绍.emmx

使用mindmaster打开

2021-07-18

软件架构介绍概念.emmx

使用mindmaster打开

2021-07-18

请求转发和重定向(request和response).emmx

使用mindmaster打开

2021-07-18

前端技术总结.emmx

使用mindmaster打开

2021-07-18

面试(8)框架和zookeeper.emmx

使用mindmaster打开

2021-07-18

面试(6)Web(网络通信,cookie和session.jsp和servlet,Ajax).emmx

使用mindmaster打开

2021-07-18

面试(5)JVM( 一种能够运行java字节码的虚拟机)jdk1.8内存和垃圾回收机制.emmx

使用mindmaster打开

2021-07-18

面试(4)线程池.emmx

使用mindmaster打开

2021-07-18

面试(3)多线程总结.emmx

使用mindmaster打开

2021-07-18

面试(2)-集合相关总结.emmx

使用mindmaster打开

2021-07-18

面试(1)-java基础知识.emmx

使用mindmaster打开

2021-07-18

加载properties文件.emmx

使用mindmaster打开

2021-07-18

集合相关概念.emmx

使用mindmaster打开

2021-07-18

会话和域对象总结.emmx

使用mindmaster打开

2021-07-18

会话技术相关概念.emmx

使用mindmaster打开

2021-07-18

服务器软件概念介绍.emmx

使用mindmaster打开

2021-07-18

分页查询步骤.emmx

使用mindmaster打开

2021-07-18

分层创建项目分页插件使用pagehelper分模块开发流程.emmx

使用mindmaster打开

2021-07-18

反射机制介绍.emmx

使用mindmaster打开

2021-07-18

多表mysql相关事务等.emmx

使用mindmaster打开

2021-07-18

动态代理jdk和spring的cglib.emmx

使用mindmaster打开

2021-07-18

搭建springboot基本环境整合SSM,mybatisplusMP详情和步骤.emmx

使用mindmaster打开

2021-07-18

zookeeper(java使用curator操作zooke.emmx

使用mindmaster打开

2021-07-18

web资源和web项目.emmx

使用mindmaster打开

2021-07-18

Vue相关概念和用法.emmx

使用mindmaster打开

2021-07-18

Vue(渐进式JavaScript框架解耦).emmx

使用mindmaster打开

2021-07-18

spring总结IOC,aop,事务.emmx

使用mindmaster打开

2021-07-18

spring相关面试生命周期等.emmx

使用mindmaster打开

2021-07-18

spring的IOC(spring框架和体系介绍).emmx

使用mindmaster打开

2021-07-18

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

TA关注的人

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