geek的技术日志,记录每一次技术思考的闪光点。

并发编程

12306火车票秒杀系统架构优化思路

later阅读(622)评论(0)

一、秒杀业务为什么难做 1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息); 2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据; 3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多...

Java并发包中ExecutorService 的几种线程池比较

later阅读(290)评论(0)

一:newCachedThreadPool (1)缓存型池子,先查看池中有没有以前建立的线程,如果有,就reuse,如果没有,就建立一个新的线程加入池中; (2)缓存型池子,通常用于执行一些生存周期很短的异步型任务;因此一些面向连接的dae...

JAVA CAS原理分析

later阅读(875)评论(0)

java.util.concurrent包完全建立在CAS之上的,没有CAS就不会有此包。可见CAS的重要性。   CAS CAS:Compare and Swap, 翻译成比较并交换。 java.util.concurrent包...

常见的Java线程面试题

later阅读(894)评论(0)

不管你是新程序员还是老手,你一定在面试中遇到过有关线程的问题。Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎。大多数待遇丰厚的Java开发职位都要求开发者精通多线程技术并且有丰富的Java程序开发、调试、...

Lock和synchronized的主要区别比较详解

later阅读(808)评论(0)

今天看了并发实践这本书的ReentantLock这章,感觉对ReentantLock还是不够熟悉,有许多疑问,所有在网上找了很多文章看了一下,总体说的不够详细,重点和焦点问题没有谈到,但这篇文章相当不错,说的很全面,主要的重点都说到了,所有...

Java并发编程学习之happens-before俗解

later阅读(448)评论(0)

学习Java并发,到后面总会接触到happens-before偏序关系。初接触玩意儿简直就是不知所云,下面是经过一段时间折腾后个人对此的一点浅薄理解,希望对初接触的人有帮助。如有不正确之处,欢迎指正。 synchronized、大部分锁,众...