自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Cas乐观锁

什么是CAS机制CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换。CAS机制当中使用了3个基本操作数:内存地址V,旧的预期值A,要修改的新值B。更新一个变量的时候,只有当变量的预期值A和内存地址V当中的实际值相同时,才会将内存地址V对应的值修改为B。CAS是英文单词Compare And Swap的缩写,翻译过来就是比较并替换。CAS机制当中使用了3个基本操...

2020-05-06 09:06:54 131

原创 Sql语句的连接方式

1.INNER JOIN2.FULL [OUTER] JOIN4.RIGHT JOIN以右表为主,右表所有的数据都会在结果集中出现,左表根据左表对应的数据显示,与左表匹配的数据会显示,没有匹配的地方会显示为空CROSS JOIN 把表A和表B的数据进行一个NM的组合,即笛卡尔积。如本例会产生44=16条记录,在开发过程中我们肯定是要过滤数据,所以这种很少用。...

2020-04-28 21:26:11 248

原创 Linux的常用命令

Linux常用命令

2020-04-28 21:21:43 84

原创 SpringMVC的工作流程和常用注解

常用注解1、@Controller@Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才是真正处理请求的处理器。单单使用@Contro...

2020-04-28 21:19:34 314

原创 Nginx的介绍以及四大功能

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

2020-04-27 21:21:39 377

原创 Redis的两种持久化方式

Redis有以下两种持久化方式:(RDB和AOF)一、 Redis DataBase(简称RDB)RDB是redis默认使用的一种持久化方式。执行机制:快照,直接将databases中的key-value的二进制形式存储在了rdb文件中优点:性能较高(因为是快照,且执行频率比aof低,而且rdb文件中直接存储的是key-values的二进制形式,对于恢复数据也快)使用单独子进程来进行持久...

2020-04-26 11:06:36 86

原创 Redis的淘汰策略和过期策略

Redis的淘汰策略如果redis的内存占用过多的时候,会使用以下6中策略noeviction:当内存不足以容纳新写入数据时,新写入操作会报错。allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key(这个是最常用的)allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key,这个一般没人用吧volatile-lru:当内...

2020-04-26 10:57:19 109

原创 Redis和Memcache的区别

Redis和Memcache 都是基于内存的数据存储系统。Memcached是高性能分布式内存缓存服务,其本质上就是一个内存key-value数据库。Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:string、list、set、zset、hash。1、数据操作不同与Memcached仅支持简单的key-va...

2020-04-25 21:47:19 187

原创 Redis简介

Redis介绍Redis是由C语言编写的noSql的Key-value的键值对的非关系型数据库。 Redis支持很多种数据类型list、set、zset、string、hash这五种数据类型。使用Redis的好处主要从“高性能”和“高并发”这两点来看待这个问题。高性能:假如用户第一次访问数据库中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据存在数缓存中,这样下一...

2020-04-25 21:41:22 50

原创 JDK1.7和JDK1.8HashMap的区别

jdk1.7与jdk1.8中HashMap区别最重要的一点是底层结构不一样,1.7是数组+链表,1.8则是数组+链表+红黑树结构;jdk1.7中当哈希表为空时,会先调用inflateTable()初始化一个数组;而1.8则是直接调用resize()扩容;插入键值对的put方法的区别,1.8中会将节点插入到链表尾部,而1.7中是采用头插;jdk1.7中的hash函数对哈希值的...

2020-04-24 21:32:21 281

原创 分布式事务解决方案和Cap理论和BASE理论

分布式事务 解决方案(一)基于可靠消息的最终一致性方案概述实现:业务处理服务在业务事务提交之前,向实时消息服务请求发送消息,实时消息服务只记录消息数据,而不是真正的发送。业务处理服务在业务事务提交之后,向实时消息服务确认发送。只有在得到确认发送指令后,实时消息服务才会真正发送。消息:业务处理服务在业务事务回滚后,向实时消息服务取消发送。消息发送状态确认系统定期找到未确认发送或者回滚发送的消...

2020-04-24 21:31:43 135

原创 事务的特性以及数据库的锁

MySQL按锁的粒度划分可归纳为以下3种锁:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。MySQL按锁的级别划分:共享锁:又称读锁,读取操作创建的锁。一旦上锁,任何事务...

2020-04-23 21:41:11 79

原创 数据库--结构的优化

数据库结构优化的目的1.减少数据的冗余2.尽量避免数据维护中出现 更新、插入、删除异常3.节约数据存储空间数据库结构设计的步骤1.需求分析:全面了解产品设计的存储需求2.逻辑设计:设计数据的逻辑存储结构3.物理设计:根据所使用的数据库特点进行表结构设计4.维护优化:根据实际情况对索引、存储结构等进行优化数据库设计范式数据库设计的第一范式:数据库表中的所有字段都具有单一属性(即...

2020-04-22 21:41:37 132

原创 索引

一:什么是索引?索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。二:.如何创建索引? ALTER TABLEALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索...

2020-04-21 19:17:27 295

原创 Tomcat类加载器

一、前言下载tomcat解压后,可以在webapps目录下看到几个文件夹(这些都是web应用),webapps对应到tomcat容器中的Host,里面的文件夹则对应到Context。tomcat启动后,webapps下的所有web应用都可以提供服务。二、Java类加载机制在这之前,当然要先了解一下java中类加载时怎样的,毕竟tomcat是用java写的,它的加载机制也是基于java的类加载...

2020-04-21 19:03:03 59

原创 微信小程序的登录流程

1、登录流程解析首次登录:1、首先需要调用小程序api接口 wx.login() 获取 临时登录凭证code ,这个code是有过期时间的。2、将这个code回传到开发者服务器(就是请求开发者服务器的登录接口,通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session_key)等)。3、拿到开发者服务器传回来的会话密钥(session_key)之...

2020-04-16 23:00:20 293

原创 Ioc和Aop的理解

IOC(控制反转)Spring使用控制反转技术实现了松耦合。依赖被注入到对象,而不是创建或寻找依赖对象。许多应用都是通过彼此间的相互合作来实现业务逻辑的,如类A要调用类B的方法,以前我们都是在类A中,通过自身new一个类B,然后在调用类B的方法,现在我们把new类B的事情交给spring来做,在我们调用的时候,容器会为我们实例化。 IOC容器的初始化过程 资源定位,即定义bean的xm...

2020-04-14 21:17:32 122

原创 JVM的内存结构

一.运行时数据区java运行时数据区包括5个部分:堆,虚拟机栈,本地方法栈,方法区,程序计数器1.程序计数器:作用可以看做是当前线程执行的字节码的行号指示器。字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令。每一个线程都需要一个独立的程序计数器,线程私有,此区域是唯一一个不会产生OOM的区域2.虚拟机栈:虚拟机栈也是线程私有的,虚拟机栈描述的是java方法执...

2020-04-13 09:20:26 50

原创 在微信小程序中使用esCharts 动态图标

1、首先要想在微信小程序中使用Echarts,就要先去下载Echarts包并引入, 下载地址:https://github.com/ecomfe/echarts-for-weixin引入与pages同级2、你要在哪一个页面中使用Echarts,就要在当前页面的json文件中做一下配置: { "usingComponen...

2020-04-10 21:50:44 856

原创 Maven Sope 的值有以下几种可能

Sope 的集中可能

2020-02-11 18:47:19 68

原创 http的响应结构

HTTP响应的结构HTTP响应由三个部分组成:一:状态码(Status Code):描述了响应的状态。可以用来检查是否成功的完成了请求。请求失败的情况下,状态码可用来找出失败的原因。如果Servlet没有返回状态码,默认会返回成功的状态码HttpServletResponse.SC_OK。二:HTTP头部(HTTP Header):它们包含了更多关于响应的信息。比如:头部可以指定认为响应...

2020-01-11 07:53:09 150

原创 nginx负载均衡

upstream 负载均衡模块说明如:下面设定负载均衡的服务器列表。upstream test.cc{ip_hash;server 192.168.1.10:80;server 192.168.1.11:80 down;server 192.168.1.12:8009 max_fails=3 fail_timeout=20s;server 192.168.1.13:8080;...

2020-01-02 20:53:32 59

原创 nginx虚拟机如何配置

一、Nginx的编译安装#yum -y install pcre-devel openssl-devel 安装依赖包下载软件源码包#tar xf nginx-1.10.2.tar.gz -C /usr/src 解压缩包useradd -s /sbin/nologin -M www 创建程序用户wwwcd /usr/src/nginx-1.10.2 进入解压目录./con...

2020-01-02 20:50:13 125

空空如也

空空如也

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

TA关注的人

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