Redis架构 1.1.问题 redis是单线程,单实例,为什么并发那么多,依旧很快呢? 回答:因为调用了系统内核的epoll 1.2.Linux的早期版本 Linux有Linux kernal,我们的客户端,进行连接,首先到达的是Linux kernal,在Linux的早期版本,只有read和wr ...
分类:
其他好文 时间:
2019-09-13 01:49:52
阅读次数:
120
线程池常见变量 corePoolSize the number of threads to keep in the pool, even if they are idle, unless allowCoreThreadTimeOut is set. (If the number of threads ...
分类:
编程语言 时间:
2019-09-12 18:11:36
阅读次数:
132
Mysql优化(出自官方文档) 第十二篇(优化锁操作篇) [TOC] 1 Internal Locking Methods 这里介绍Mysql的几种锁,该锁由Mysql自行进行管理,用户不需要处理该锁。 Row Level Locking 对于InnoDB,行锁可以通过 语句进行获取,如果行锁中出现 ...
分类:
数据库 时间:
2019-09-11 11:34:53
阅读次数:
113
一、NoSQL起源 NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数 ...
分类:
数据库 时间:
2019-08-29 15:27:50
阅读次数:
95
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6582 Path Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submiss ...
分类:
其他好文 时间:
2019-08-25 17:39:10
阅读次数:
96
这是java高并发系列第29篇。 环境:jdk1.8。 本文内容 1. 介绍常见的限流算法 2. 通过控制最大并发数来进行限流 3. 通过漏桶算法来进行限流 4. 通过令牌桶算法来进行限流 5. 限流工具类RateLimiter 常见的限流的场景 1. 秒杀活动,数量有限,访问量巨大,为了防止系统宕 ...
分类:
编程语言 时间:
2019-08-20 17:01:47
阅读次数:
105
passwd 命令用于修改用户密码,过期时间,认证信息等。 普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码。更酷的是,root 管理员在 Linux 系统中 修改自己或他人的密码时不需要验证旧密码,这一点特别方便。既然 root 管理员可以修 ...
分类:
系统相关 时间:
2019-08-19 23:14:47
阅读次数:
155
双重检查锁定(Double check locked)模式经常会出现在一些框架源码中,目的是为了延迟初始化变量。这个模式还可以用来创建单例。下面来看一个 Spring 中双重检查锁定的例子。 这个例子中需要将配置文件加载到 中,由于读取资源比较耗时,所以将动作放到真正需要 的时候。我们可以看到 前面 ...
分类:
其他好文 时间:
2019-08-15 11:19:03
阅读次数:
114
三种类型: 直接提交:工作队列的默认选项是 SynchronousQueue,它将任务直接提交给线程而不保持它们。在此,如果不存在可用于立即运行任务的线程,则试图把任务加入队列将失败,因此会构造一个新的线程。此策略可以避免在处理可能具有内部依赖性的请求集时出现锁。直接提交通常要求无界maximumP ...
分类:
编程语言 时间:
2019-08-02 10:49:07
阅读次数:
555
一、并发控制 为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。 技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Multi Versio ...
分类:
数据库 时间:
2019-07-31 18:31:15
阅读次数:
135