随笔分类 -  java内存模型

摘要:原文地址:http://ifeve.com/memory-barriers-or-fences/ 本文我将和大家讨论并发编程中最基础的一项技术:内存屏障或内存栅栏,也就是让一个CPU处理单元中的内存状态对其它处理单元可见的一项技术。 CPU使用了很多优化技术来实现一个目标:CPU执行单元的速度要远超 阅读全文
posted @ 2016-02-14 21:51 人生设计师 阅读(962) 评论(0) 推荐(0) 编辑
摘要:原文地址:http://ifeve.com/easy-happens-before/ 学习Java并发,到后面总会接触到happens-before偏序关系。初接触玩意儿简直就是不知所云,下面是经过一段时间折腾后个人对此的一点浅薄理解,希望对初接触的人有帮助。如有不正确之处,欢迎指正。 synchr 阅读全文
posted @ 2016-02-14 15:13 人生设计师 阅读(1032) 评论(0) 推荐(0) 编辑
摘要:处理器内存模型 顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致性内存模型作为参照。JMM和处理器内存模型在设计时会对 顺序一致性模型做一些放松,因为如果完全按照顺序一致性模型来实现处理器和JMM,那么很多的处理器和编译器优化都要被禁止,这对执行性能将会有很大的影 阅读全文
posted @ 2016-01-31 21:40 人生设计师 阅读(367) 评论(0) 推荐(0) 编辑
摘要:本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-6 与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则: 在构造函数内对 阅读全文
posted @ 2016-01-31 21:38 人生设计师 阅读(458) 评论(0) 推荐(0) 编辑
摘要:本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-5 锁的释放-获取建立的happens before 关系 锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个 阅读全文
posted @ 2016-01-31 20:35 人生设计师 阅读(302) 评论(0) 推荐(0) 编辑
摘要:本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-4 volatile的特性 当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解volatile特性的一个好方法是:把对volatile 阅读全文
posted @ 2016-01-31 20:17 人生设计师 阅读(2175) 评论(0) 推荐(1) 编辑
摘要:本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-3 数据竞争与顺序一致性保证 当程序未正确同步时,就会存在数据竞争。java内存模型规范对数据竞争的定义如下: 在一个线程中写一个变量, 在另一个线程读同一个 阅读全文
posted @ 2016-01-31 17:42 人生设计师 阅读(437) 评论(0) 推荐(0) 编辑
摘要:本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-2 数据依赖性 如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依赖性。数据依赖分下列三种类型: 名称 代码示例 说明 阅读全文
posted @ 2016-01-31 16:46 人生设计师 阅读(331) 评论(0) 推荐(0) 编辑
摘要:本文属于作者原创,原文发表于InfoQ:http://www.infoq.com/cn/articles/java-memory-model-1 并发编程模型的分类 在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种 阅读全文
posted @ 2016-01-31 16:31 人生设计师 阅读(807) 评论(0) 推荐(1) 编辑
摘要:1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标之一。一般衡量一个服务器性能的高低好坏,使用每秒事务处理数(Transactions Per Second,TPS)这个指标比较能说明问题,它代表着一秒内服务器平均能响应的请求数,而TPS值与程序的并发能力有着非常密切的关系。在讨论 Ja 阅读全文
posted @ 2016-01-30 11:21 人生设计师 阅读(328) 评论(0) 推荐(0) 编辑
摘要:并发本来就是个有意思的问题,尤其是现在又流行这么一句话:“高帅富加机器,穷矮搓搞优化”。 从这句话可以看到,无论是高帅富还是穷矮搓都需要深入理解并发编程,高帅富加多了机器,需要协调多台机器或者多个CPU对共享资源的访问,因此需要了解并 发,穷矮搓搞优化需要编写各种多线程的代码来压榨CPU的计算资源, 阅读全文
posted @ 2016-01-30 11:12 人生设计师 阅读(424) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示