自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 InnoDB引擎行锁的实现

InnoDB锁在一般的数据库中为了保证数据库事务的四个特性,不可避免的要使用到锁.而InnoDB为我们提供了一个很好的行级锁,即锁定的是数据行,而不是整张表.,当然了,在某些情况下也会直接锁表,而不是行锁,比如说全表更新.下面来探讨一下InnoDB的行级锁.锁的类型InnoDB存储引擎为我们提供了两种标准的行级锁.共享锁(S Lock),允许事务读取一行数据排它锁(X Lock),允许...

2019-06-10 13:00:03 2283 2

原创 Mysql之InnoDB引擎事务的实现

InnoDB事务的实现事务隔离性一致性原子性持久性事务数据库的事务有四大特性,即:原子性,隔离性,一致性和持久性.要保证这四个特性,InnoDB存储引擎做了一系列的操作,下面来看一下InnoDB是怎么保证数据库事务的这四个特性的.隔离性隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。隔离性就很好...

2019-06-09 22:56:21 1184

原创 负载均衡算法简介

简介在分布式系统架构中,负载均衡是很有必要的.当有负载均衡的系统中,可以将请求均匀的分布在多个主机中,不至于一个所有的请求都一股脑到了一个主机中,会导致假的分布式系统.因此就有了负载均衡的出现.有两种负载均衡.一种是硬件的负载均衡,比较好的有F5负载均衡,这里就不说了.一种是软件提供的负载均衡.目前有几种主流的比较好的软件负载均衡算法.这里简单说一下.负载均衡算法加权随机算法思想: 很多服...

2019-06-05 23:14:43 249 1

转载 zookeeper集群选举

zookeeper集群选举转载自(https://blog.csdn.net/yinwenjie/article/details/47613309),写的很好.我们知道了一个zookeeper集群中,有一个处于leader身份的节点,其他的节点都是flower状态。那么一个leader是怎么产生的呢?这就是zookeeper中的选举规则,默认的选举规则称为:FastLeaderELection...

2019-06-03 20:30:51 461

原创 MySQL之InnoDB表存储格式

原文地址InnoDBInnoDB引擎作为现在mysql的默认引擎,支持事务处理与外键约束,并且有很高的性能.今天这里来说一下InnoDB存储引擎中表的存储格式.索引组织表在InnoDB中,表都是根据主键顺序组织存放的.在InnoDB引擎中,每个表都有一个主键,如果在创建表的时候没有显示定义,则将表中的第一个非空唯一索引设为主键,如果没有这样的索引,则会自动创建一个6字节大小的指针.看一个...

2019-05-30 17:35:06 1008

原创 JavaNio之Buffer

JavaNio之Buffer简介BufferBuffer属性以及相关操作.初始化:读写ByteBufferreset()方法总结简介Java NIO类在jdk中有了源生支持,实现了一套自己的NIO框架,当然了底层依然是系统调用.但是在NIO中必不可少的就是缓冲区,随后的Channel和Selector随后在介绍.Buffer这就是Buffer的大致继承体系,很多都没有罗列出来,因为主要讲...

2019-05-28 19:14:47 2581

原创 linux进程调度

linux进程调度linux进程调度进程优先级调度器类公平调度linux调度的实现**时间记账****进程选择****调度器入口****睡眠和唤醒**抢占和上下文切换linux进程调度进程优先级linux采用两种不同的优先级范围.第一种用nice值,范围为-20到19,越低优先级越高.第二种是实时优先级,从0-99,越大优先级越高.在系统调度中总会解决I/O密集型的和CPU密集型的进程...

2019-05-28 16:21:25 231

原创 JAVA注解使用

JAVA注解前言概述前言这两天在自己学习着写一个小型的web框架,有点像spring,但是有是轻量级的.里面用到的注解功能.但是对于自定义注解这块又不熟悉,所以专门学习了一波,做点笔记记下来.概述注解是自带的.jdk中本身就有很多内置注解,比如override等等.注解的功能其实就是为一些加了注解的类,方法等赋予一些特别的含义.java中有4中元注解@Target中的参数表示注解应该用在...

2019-05-22 17:20:53 205

原创 dubbo使用配置

dubbo配置dubbodubbo背景dubbo架构API方式Spring集成 xml方式基于注解的配置:provider使用Service注解暴露服务consumerdubbodubbo背景在如今设备配置已经到达极限的时候,则需要进行分布式进行处理,将一些应用功能分开管理,但是又必须得互相有沟通,可以通过简单的接口暴露和RPC引用远程服务,通过配置URL地址进行调用,通过F5等硬件进行负载...

2019-05-22 16:12:44 371 1

原创 HashMap源码解析

HashMapjava.util包下面的工具类,键值对存储数据.通过对键值计算hash值,来存储到对应的位置.jdk1.8中底层使用数组加链表实现.键值对通过一个内部类的Node节点来表示.采用链地址法解决hash冲突,如果一条链上的节点超过给定阈值会变为红黑树.默认为8.在hashmap中是可以存储空key和value的.如果为空,则位置为0.声明hashmap继承了AbstractM...

2019-05-21 20:36:45 124

原创 ThreadLocal实现原理

ThreadLocal简介ThreadLocal是java中将非线程安全变为线程安全的一个神器.通过为每一个线程保存一个线程本地变量来保证数据的安全性,通过set()和get()方法来使用. 因为每个线程都拥有变量的副本.不和其他线程变量交互,所以不会出现线程安全问题.所以这里有一个点就是ThreadLocal应用的场景应该是变量的访问是没有依赖关系的,每个线程只和自己的数据副本打交道.属性...

2019-05-20 22:17:33 690

原创 TimSort源码分析

TimSorttimsort是jdk自带的一种特别高效的排序算法,大致思想使用的是归并排序,但是内部细节做了许多的优化.在timsort中,主要是为待排序数组分为很多个run块,通过讲这些run块进行归并排序.最后实现总体排序.每个run块的大小为16-32大小.优化地方:当待排序数组长度小于32就使用二分排序算法分为多个run块,在通过把run块的起始位置和长度压入栈中,在进行合并....

2019-05-19 20:17:45 374

原创 RentrantLock源码剖析

RentrantLock源码剖析ReentrantLock是一个独占式的锁,支持重入.里面实现了公平锁与非公平锁;其中ReentrantLock支持可公平锁与非公平锁,最顶层的父类是AQS.获取锁阻塞释放全部都是通过AQS来实现.接下来详细说明这些是怎么实现的.Sync继承自AQSabstract void lock();抽象方法,让子类也就是两个公平和非公平类来实现.boolea...

2019-05-18 22:21:38 226

原创 AQS源码解析

AbstractQueueSynchronizer定义了一套多线程访问共享资源的同步框架首先维护了一个volatile state状态量 和 一个阻塞队列,是FIFO队列,队列使用链表实现.state的访问方式有三种getstate()setState()compareAndSetState()AQS 定义了两种资源共享状态,一种是独占(Exclusive 如ReentrantLoc...

2019-05-17 22:22:52 149

原创 java正则表达式

正则表达式正则表达式是处理字符串的强大工具,它并不是java的特性.但是java有一套工具类提供了正则表达式的匹配功能.用途字符串匹配字符串查找字符串替换Java类java中正则表达式主要包括两个类:Pattern: 此对象是一个正则表达式的编译表示.此类没有共有的构造方法,只能通过静态编译方法来获得一个Pattern对象.比如Pattern.compile("\d"); ...

2019-05-15 21:01:55 126

原创 java 编译优化

java 编译优化java编译泛型擦除Integer. Double 自动装箱与拆箱foreach循环遍历变长参数int short 优化java编译java编译器为我们做了很多优化,比如在java中泛型并不是真正的泛型,在编译的时候会进行泛型擦除,使用的时候再进行类型转换.或者Integer自动装箱和拆箱.foreach循环遍历等等.泛型擦除在java中泛型并不是真正的泛型,因为有一个j...

2019-05-10 21:30:06 1041 6

空空如也

空空如也

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

TA关注的人

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