- 博客(9)
- 资源 (1)
- 收藏
- 关注
原创 多重循环的优化
代码1 for(int i=0;i<1000;i++){ for(int j=0;j<100;j++){ for(int k=0;k<10;k++){ function(i,j,k); } } }代码2for(int k=0;k<10;k++){ for(int j=0;j<100;j++){
2013-09-16 23:55:30 761
转载 深入理解Java内存模型(七)——总结
原文链接:http://www.infoq.com/cn/articles/java-memory-model-7?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk处理器内存模型顺序一致性内存模型是一个理论参考模型,JMM和处理器内存模型在设计时通常会把顺序一致
2013-09-15 20:12:37 748
转载 深入理解Java内存模型(六)——final
原文链接:http://www.infoq.com/cn/articles/java-memory-model-6?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,
2013-09-15 20:11:23 737
转载 深入理解Java内存模型(五)——锁
原文链接:http://www.infoq.com/cn/articles/java-memory-model-5?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk锁的释放-获取建立的happens before 关系锁是java并发编程中最重要的同步机制。锁除
2013-09-15 20:09:52 666
转载 深入理解Java内存模型(四)——volatile
原文链接:http://www.infoq.com/cn/articles/java-memory-model-4?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clkvolatile的特性当我们声明共享变量为volatile后,对这个变量的读/写将会很特别。理解v
2013-09-15 20:08:43 650
转载 深入理解Java内存模型(三)——顺序一致性
原文链接:http://www.infoq.com/cn/articles/java-memory-model-3?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk数据竞争与顺序一致性保证当程序未正确同步时,就会存在数据竞争。java内存模型规范对数据竞争的定义
2013-09-15 20:06:21 693
转载 深入理解Java内存模型(二)——重排序
原文链接:http://www.infoq.com/cn/articles/java-memory-model-2?utm_source=infoq&utm_medium=related_content_link&utm_campaign=relatedContent_articles_clk数据依赖性如果两个操作访问同一个变量,且这两个操作中有一个为写操作,此时这两个操作之间就存在数据依
2013-09-15 20:04:26 687
转载 深入理解Java内存模型(一)——基础
原文链接并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态
2013-09-15 19:58:12 613
原创 解读【Java theory and practice: Managing volatility】
原文链接:Java 理论与实践: 正确使用 Volatile 变量正确使用 volatile 变量的条件您只能在有限的一些情形下使用 volatile 变量替代锁。要使 volatile 变量提供理想的线程安全,必须同时满足下面两个条件: 对变量的写操作不依赖于当前值。 就是说n = n + 1;n++;这种情况不应该使用。n = m
2013-09-15 18:03:26 1077
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人