自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL下并发重复插入的唯一性问题

1. 背景在高并发场景中,经常会遇到并发重复数据插入,没有唯一索引(比如有逻辑删除)却要保证唯一性的问题。比如分布式告警计算中,多个计算实例同时计算出同一个告警并同时插入相同的告警记录到数据库中,这时应该只插入一条记录。本文分析了在MySQL的InnoDB引擎中解决这类的问题的4种思路和相关方案。2. 问题提出InnoDB下,两个事务同时插入同一条数据,如何保证只有一条数据被插入?...

2019-08-24 22:36:40 12480 9

原创 并发、并行和分布式(Concurrent, Parallel, and Distributed)

概述在复杂的系统开发中,经常会遇到并发编程、高并发、并行计算、分布式系统、分布式计算、分布式存储这些词语,那么这些词背后的并发、并行、分布式到底有什么区别呢?总的来说,这些概念有许多重叠,没有特别清晰的划分[1]。但是从它们最常见的含义上,可以从以下几个方面来区分。从处理器上看从处理器个数来区分并发处理:是在同一个处理器上同时做多件事。如下图所示:并行处理:在多个...

2019-08-15 22:15:27 1825

原创 Java内存模型

一方面,在多处理器架构中,单个处理器一般都有自己的高速缓存,既然是缓存,就有可能和主存不同步。通常我们不会让线程间的每次读写都做同步,因为这样性能代价太高。另外一个方面,也是为了性能,编译器可能会对语句进行重排,而重排也会导致多线程的数据一致性问题。而Java内存模型(Java Memory Model (JMM))就定义了多线程程序被允许的行为,同时也规定了代码重排的规则。有了这些规则,...

2019-08-08 19:04:55 247

原创 【Java并发】synchronized不可以被中断?

synchronized方法可以被中断我们常说synchronized不可以被中断,并不指synchronized方法不可中断,比如:public class InterruptSynMethodTest { public synchronized void foo() throws InterruptedException { System.out.println("foo be...

2019-08-06 11:10:57 5622 1

原创 使用GO语言调用Windows API

一、背景为了更好兼容Windows,有时候需要直接在Go程序里面去调用Windows系统的API,比如在Go程序里面直接控制Windows窗口。二、环境搭建Windows下GO的下载、安装和配置Windows下GO的下载、安装和配置可参考:GO语言下载、安装、配置使用Visual Studio Code来搭建GO开发环境采用微软开源的Visual Studio C...

2019-08-01 20:15:42 5716

原创 诗解UML关系

UML关系泛实组聚关依赖,六种关系强到弱。(六种关系及强弱)泛化实现同一类,组合聚合是关联。(分类)泛化继承三角实,实现接口三角虚。(泛化、实现的含义和画法)整体部分有两种,聚合可离组合否。(组合、聚合的含义)组合实菱聚合空,箭指部分实线凑。(如何画组合、聚合)关联拥有可双向,实线箭指被拥有。(关联的含义画法)依赖使用弱关联,被用之前虚箭头。(依赖的含义画法)[简化版]泛实...

2015-04-11 17:54:29 389 1

《盖洛普优势识别器2.0》2012.7完整扫描版带书签

《盖洛普优势识别器2.0》2012.7完整扫描版带书签,认识下各种优势。

2016-05-28

面向对象分析与设计(第3版)

Grady Booch的经典,从CSDN下载,改成了完整的层级书签。

2012-11-15

2006年下半年系统分析师试卷及答案和分析

2006年下半年系统分析师试卷及答案和分析

2011-10-13

LoadRunner联机帮助(英文版和中文版)

中文版包括如下部分: LoadRunner 创建 Vuser 脚本指南 loadRunner analysis 用户指南 英文版包括联机帮助中以下部分: LoadRuner installation's Guide LoadRunner Analysis User's Guide LoadRunner Controller User's Guide LoadRunner Creating Vuser Scripts

2011-02-13

各种Hash函数(JAVA版)

System.out.println(" 1. RS-Hash Function Value: " + ghl.RSHash(key)); System.out.println(" 2. JS-Hash Function Value: " + ghl.JSHash(key)); System.out.println(" 3. PJW-Hash Function Value: " + ghl.PJWHash(key)); System.out.println(" 4. ELF-Hash Function Value: " + ghl.ELFHash(key)); System.out.println(" 5. BKDR-Hash Function Value: " + ghl.BKDRHash(key)); System.out.println(" 6. SDBM-Hash Function Value: " + ghl.SDBMHash(key)); System.out.println(" 7. DJB-Hash Function Value: " + ghl.DJBHash(key)); System.out.println(" 8. DEK-Hash Function Value: " + ghl.DEKHash(key)); System.out.println(" 9. BP-Hash Function Value: " + ghl.BPHash(key)); System.out.println(" 9. FNV-Hash Function Value: " + ghl.FNVHash(key)); System.out.println("10. AP-Hash Function Value: " + ghl.APHash(key));

2010-05-20

计算MD5码C++代码

计算MD5码C++代码,很好用: // usage: 1) feed it blocks of uchars with update() // 2) finalize() // 3) get hexdigest() string // or // MD5(std::string).hexdigest()

2010-05-20

算法导论MIT(第二版,含书签)、答案、教师手册

算法导论第二版,英文,MIT出版,加上了6大部分三十多章的书签,带答案和教师手册

2010-05-20

[英文]10学分钟会SQL (Sams Teach Yourself SQL in 10 Minutes)

10天学会SQL,英文资料,很好懂。除了基本的命令讲解外,还介绍了视图、存储过程、事务以及一些高级特性。

2008-09-10

Mysql自动备份脚本

Mysql自动备份脚本

2008-06-20

获取网卡Mac地址C++代码3

获取网卡Mac地址的C++代码3,有三种方法

2008-06-20

获取网卡Mac地址C++代码2

获取网卡Mac地址的C++代码2,有三种方法

2008-06-20

获取网卡Mac地址C++代码1

获取网卡Mac地址的C++代码1,有三种方法

2008-06-20

JavaScript.Pocket.Reference

Oreilly.JavaScript.Pocket.Reference.2nd.Edition<br>JavaScript袖珍参考手册

2008-06-20

Learning XML

O'Reilly - Learning XML

2008-06-20

core java I (java核心编程)学习笔记

core java 5 I (java核心编程5 I)学习笔记

2008-06-20

Oreilly.HTML学习笔记

Oreilly.HTML.And.XHTML.The.Definitive.Guide.5th.Edition学习笔记

2008-06-20

空空如也

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

TA关注的人

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