- 博客(5)
- 资源 (17)
- 问答 (4)
- 收藏
- 关注
原创 NO.001- 简说 Java 并发编程史
目录一、为什么了解并发编程历史二、并发的演进2.1 并发的产生2.2 线程的产生2.3 Java并发编程的演进三、思想和本质参考这篇文章是Java并发编程思想系列的第一篇,主要从理解Java并发编程历史的原因和Java并发演进过程两部分,以极简地回溯并发编程的历史,帮助大家从历史这个角度去了解一门语言一个特性的演进。对历史理解的越多,思考的越多,未来的方向就会更加坚定。我是谁?从哪来?到哪去?——柏拉图一、为什么了解并发编程历史没有一个新事物一出现
2020-12-20 00:25:53
285
3
原创 AQS阻塞唤醒工具LockSupport
LockSupport在JDK源码中描述为:构建锁和其他同步类的基本线程阻塞原语,构建更高级别的同步工具集。LockSupport提供的park/unpark从线程的粒度上进行阻塞和唤醒,park/unpark模型真正解耦了线程之间的同步,线程之间不再需要一个Object或者其它变量来存储状态。
2017-03-22 13:01:28
568
原创 volatile语义
volatile在Java内存模型(JMM)中,保证共享变量对所有线程可见,但不保证原子性。volatile语义是同步,通过共享变量的方式,完成线程间的通信。
2016-12-04 22:37:56
378
原创 幂等策略分析
幂等概念来自数学,表示N次变换和1次变换的结果是相同的。这里讨论在某些场景下,客户端在调用服务没有达到预期结果时,会进行多次调用,为避免多次重复的调用对服务资源产生副作用,服务提供者会承诺满足幂等。
2016-12-03 12:43:17
986
2
原创 重新认识synchronized(上)
synchronized在JDK5之前一直被称为重量级锁,是一个较为鸡肋的设计,而在JDK6对synchronized内在机制进行了大量显著的优化,加入了CAS,轻量级锁和偏向锁的功能,性能上已经跟ReentrantLock相差无几,而且synchronized在使用上更加简单,不易出错(避免哲学家就餐问题造成的死锁),因此如果仅仅是为了实现互斥,而不需要使用基于Lock的附加属性(中断、条件等),推荐优先使用synchronized。
2016-11-06 15:35:22
585
android游戏开发框架libgdx的使用教程
2011-12-20
Oracle 10g Concepts中文版
2010-05-10
请教一个hibernate和spring整合时的问题
2012-08-28
问一个基础的问题
2011-10-18
将查询结果作为一列内容查询 sql
2011-05-29
加载配置文件时出现java.lang.NoClassDefFoundError
2010-04-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人