自定义博客皮肤

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

消息处理及分布式锁的使用

之前同事遇到的场景,特意跟踪了一下这个单点问题 场景 在处理存管银行的收放款文件时,因为存在一人还款给多人,多人放款给一人,多人债转给多人的局部单点问题,账户系统使用了分布式锁来作为解决方案,从而达到缓解大量数据库乐观锁异常(由于乐观锁是在事务提交时发生,此时报错返回已经消耗了CPU和内存资源) ...

2018-11-02 09:46:27

阅读数 26

评论数 0

AQS CAS分析

什么是CAS CAS(Compare And Swap)比较并交换。是解决多线程并行情况下使用锁造成的性能损耗的一种机制,CAS操作包含三个操作数— 内存位置(V)预期原值(A)和新值(B).如果内存位置与预期原值相匹配,那么处理器会自动将新值更新到该位置值,否则处理器不做任何操作。无论哪种情况...

2018-10-12 14:27:10

阅读数 40

评论数 0

MyISAM、InnoDB索引区别

《数据库索引》介绍了B+树,是一种非常适合用来做数据库索引的数据结构: 很适合磁盘存储,能够充分利用局部性原理,磁盘预读; 很低的树高度,能够存储大量数据; 索引本身占用的内存很小; 能够很好的支持单点查询,范围查询,有序性查询; 数据库的索引分为主键索引(Primary Inkex)与普通索引...

2018-10-11 11:00:00

阅读数 23

评论数 0

内网穿透:MAC 下使用 ngrok 实现内网穿透

下载 MAC 版的 ngrok:https://ngrok.com/download 解压到指定目录: unzip -d /tmp ngrok-stable-darwin-amd64.zip 进入到解压后的 ngrok 所在路径: cd /tmp 开启服务: ./ngrok ...

2018-12-08 15:21:01

阅读数 39

评论数 0

Spring Bean生命周期

废话不多说,直接上图 1. 生命周期流程图 Spring Bean的完整生命周期是从创建Spring容器开始,直到最终Spring容器销毁Bean,这其中包含了一系列关键点。 若容器注册了以上各种借口,那么程序将会按照以上流程运行。下边讲一下各接口的作用 2.各种接口方法分类 Bean的完整生命...

2018-10-22 17:02:19

阅读数 24

评论数 0

mysql查看死锁和解除锁

解除正在死锁的状态有两种方法: 第一种: 1.查询是否锁表 show OPEN TABLES where In_use > 0; 2.查询进程(如果您有SUPER权限,您可以看到所有线程。否则,您只能看到您自己的线程) show processlist 3.杀死进程i...

2018-10-19 14:08:06

阅读数 22

评论数 0

Kafka vs RocketMQ

概述 这篇博文主要讲清楚kafka和rocketMq的两个不同点,1、rocketMq的namesvr和kafka的zookeeper对比;2、kafka为什么比rocketMq有更大的吞吐量。如果能够讲清楚上面两个问题我觉得就已经很满足了。 最后,文章引入的参考文章里面有一些比较好的链接,有兴趣...

2018-10-17 13:27:35

阅读数 39

评论数 0

spring声明式事务

1. 什么是事务 事务是程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。 2. 事务的特性 事务特性分为四个:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持续性(Du...

2018-10-15 15:08:57

阅读数 14

评论数 0

数据库索引

问题1:数据库为什么要设计索引? 图书馆存了1000W本图书,要从中找到《架构师之路》,一本本查,要查到什么时候去? 于是,图书管理员设计了一套规则: (1)一楼放历史类,二楼放文学类,三楼放IT类… (2)IT类,又分软件类,硬件类… (3)软件类,又按照书名音序排序… 以便快速找到一本书。 与...

2018-10-11 10:35:19

阅读数 42

评论数 0

用Java实现生产者消费者模式

采用synchronized锁以及wait notify方式实现 package com.stylefeng.guns.mq; import java.io.IOException; /** @author climb.s * @date 2018/9/27 19:14 */ publi...

2018-10-10 18:27:24

阅读数 21

评论数 0

JAVA 基础系列之 重排序和Volatile

重排序 在执行程序时,编辑器和处理器会对指令进行重排序,重排序分为: 编译器重排序:在不改变代码语义的情况下,优化性能而改变了代码执行顺序; 指令并行的重排序:处理器采用并行技术使多条指令重叠执行,在不存在数据依赖的情况下,改变机器指令的执行顺序; 内存系统的重排序:使用缓存和读写缓冲区时,加载...

2018-09-27 18:38:22

阅读数 37

评论数 0

JVM内存模型与垃圾回收

JVM内存模型与垃圾回收 本文的主要内容如下: 内存模型 垃圾回收 参考文章 内存模型 各部分的功能 这几个存储区最主要的部分就是堆区和栈区,那么什么是栈什么是堆呢?说的简单点,栈存放的是基本数据类型和引用类型的引用,而堆里边则是存放各种对象的实例。 栈于堆分开...

2018-09-27 16:11:10

阅读数 42

评论数 0

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