自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CAS乐观锁

1.乐观锁介绍 程序完成并发操作时,访问数据时每次不加锁,假设没有冲突去完成某项操作,如果因为冲突失败就重试,直到成功为止。就是当去做某个修改或其他操作的时候它认为不会有其他线程来做同样的操作(竞争),这是一种乐观的态度,通常是基于CAS 原子指令来实现的。 2.CAS介绍 当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是...

2020-05-05 23:32:39 190

原创 SpringMVC执行流程和常用注解

SpringMVC的执行流程 1.首先用户发送请求到中央处理器DispatcherServlet 2.中央处理器收到请求调用映射器处理器HandlerMapping 3.处理器映射器HandlerMapping找到具体的处理器,并生成处理器对象和处理器拦截器,一并返回给中央处理器DispatcherServlet 4.中央处理器DispatcherServlet请求调用处理器适配器HandlerA...

2020-04-28 22:37:15 308

原创 Nginx介绍

Nginx是什么? 一、介绍 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。 Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。其特点是占有内存少,并发能力强,事实上...

2020-04-27 23:16:46 320

原创 redis简介

Redis简介: 是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求。 优点: 对数据高并发读写 对海量数据的高效率存储和访问 对数据的可扩展性和高可用行 缺点: redis(ACID)处理非常简单 无法做到太复杂的关系数据库模型 Redis 是以key-value store存储,data structure service 数据结构服务器,键可以...

2020-04-25 22:23:25 175

原创 分布式锁简介(个人理解)

什么是分布式锁? 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 在分布式系统中,常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源,那么访问这些资源...

2020-04-25 22:18:53 258

原创 布隆过滤器

布隆过滤器 - Redis 布隆过滤器,Guava 布隆过滤器 BloomFilter 1、布隆过滤器的起源,用途 布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。 2、布隆过滤器的概念 如果想要判...

2020-04-25 22:14:50 141

原创 HashMap,哈希冲突

1、HashMap 是不是有序的?不是有序的。 2、有没有有序的Map实现类呢?有 TreeMap 和 LinkedHashMap。 3、然后问TreeMap 和 LinkedHashMap 是如何保证它的顺序的? TreeMap 是通过实现 SortMap 接口,能够把它保存的键值对根据 key 排序,基于红黑树,从而保证 TreeMap 中所有键值对处于有序状态。LinkedHashMap 则...

2020-04-24 23:32:39 472

原创 CPA理论和BASE理论

CAP理论:一个分布式系统中,不可能同时满足C、A、P这三个基本需求,最多只能满足其中的两项。 C:Consistency 一致性(始终一致) A:Availability 可用性(始终可用) P:Partition tolerance分区容错性(网络分区故障不影响整体服务) BASE理论:是CAP理论的演化,即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一...

2020-04-24 23:30:20 568

原创 分布式事务与本地事务

什么是分布式事务 分布式事务就是一次大的操作由不同的小操作组成,这些小操作分布在不同的服务器上,并且属于不同的应用,分布式事务要保证这些小操作要么全部完成,要么全部失败,简单通俗的说就是分布式事务就是为了不同数据库的数据一致性。 什么是本地事务 本地事务就是 ...

2020-04-24 23:21:36 284

原创 数据库的锁

数据库的锁分类 锁的类型有三种: 共享(S)锁:多个事务可封锁一个共享页;任何事务都不能修改该页; 通常是该页被读取完毕,S锁立即被释放。 排它(X)锁:仅允许一个事务封锁此页;其他任何事务必须等到X锁被释放才能对该页进行访问;X锁一直到事务结束才能被释放。 更新(U)锁:用来预定要对此页施加X锁,它允许其他事务读,但不允许再施加U锁或X锁;当被读取的页将要被更新时,则升级为X锁;U锁一直到事务结...

2020-04-24 20:01:09 137

原创 Mysql结构优化

影响Mysql数据库的因素 服务器硬件 操作系统 mysql服务器配置 数据库结构(影响最大) 良好的数据库逻辑设计和物理设计是数据库获得高性能的基础 数据库结构优化的目的 减少数据的冗余 尽量避免数据维护中出现 更新、插入、删除异常 节约数据存储空间 数据库结构设计的步骤 需求分析:全面了解产品设计的存储需求 逻辑设计:设计数据的逻辑存储结构 物理设计:根据所使用的数据库特点进行表结构设计 维护...

2020-04-22 22:19:37 220

原创 索引

索引用来快速地寻找那些具有特定值的记录,所有的MySQL索引都以B-树的形式保存。如果没有索引,执行查询的时候MySQL必须从第一个记录开始扫描整个表中的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录既可迅速得到目标记录所有在位置。如果表有1000个记录,通过索引查找记录至少比顺序扫描记录快100倍。 ...

2020-04-21 20:39:30 146

原创 Tomcat类加载器

再次认识Tomcat Tomcat是我们从一开始接触Java Web就认识的一个web服务器,它是由Java语言编写的,主要的文件夹就是bin,conf,lib,logs,webapps这5个文件夹 Bin,是我们启动,关闭tomcat的命令所在的文件夹 Conf,是我们tomcat相应配置所在的地方,在我们最早学习部署的时候,就有一种直接在conf中修改server.xml以及session过...

2020-04-21 18:38:25 226

原创 SpringMVC的执行原理(简介)

SpringMVC的执行原理 1.首先用户发送请求到中央处理器DispatcherServlet 2.中央处理器收到请求调用映射器处理器HandlerMapping 3.处理器映射器HandlerMapping找到具体的处理器,并生成处理器对象和处理器拦截器,一并返回给中央处理器DispatcherServlet 4.中央处理器DispatcherServlet请求调用处理器适配器HandlerA...

2020-04-18 19:50:46 144

原创 GC垃圾收集

说明: 在本文中, Garbage Collection 翻译为 “垃圾收集”, garbage collector 翻译为 “垃圾收集器”; 一般认为, 垃圾回收 和 垃圾收集 是同义词。 Minor GC 翻译为: 小型GC; 而不是 次要GC Major GC 翻译为: 大型GC; 而不是 主要GC 原因在于,大部分情况下, 发生在年轻代的 Minor GC 次数会很多,翻译为次要GC明显不...

2020-04-13 10:27:42 169

原创 JVM的内存结构

Java是一门跨平台的语言,这个得归公于JVM。在实际项目开发中,通常会出现Out of Memery问题,而内存管理是JAVA自己运行管理,要定位问题,前提必须了解JAVA的内存模型,本文将分享JVM内存结构以及一些参数的具体说明 jvm内存结构 程序计数器 主要功能是记录当前线程执行程序的位置,通过改变计数值来确定执行下一条指令。每个线程的创建,都会创建一个程序计数器,并且对于每个线程而言是...

2020-04-12 21:32:36 137

原创 RabbitMQ的特点与作用

MQ的作用:  解耦:在项目启动之初是很难预测未来会遇到什么困难的,消息中间件在处理过程中插入了一个隐含的,基于数据的接口层,两边都实现这个接口,这样就允许独立的修改或者扩展两边的处理过程,只要两边遵守相同的接口约束即可。 冗余(存储):在某些情况下处理数据的过程中会失败,消息中间件允许把数据持久化知道他们完全被处理 扩展性:消息中间件解耦了应用的过程,所以提供消息入队和处理的效率是很容...

2020-04-12 19:48:01 827

原创 nginx负载均衡策略

关于nginx负载均衡: 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务 器压力过大,将来自用户的请求转发给不同的服务器。 nginx负载均衡策略(六种): 轮询 默认方式 weight 权重方式 ip_hash 依据ip分配方式 least_conn 依据ip分配方式 fair(第三方) 响应时间方式 url_hash(第...

2020-01-02 20:31:06 768

空空如也

空空如也

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

TA关注的人

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