- 博客(5)
- 收藏
- 关注
原创 java CAS原子操作总结
今天看了《Java并发编程的艺术》的第二章,最后介绍了原子操作的实现原理,受益匪浅,特在此进行总结。原子(atomic)本意是“不能被进一步分割的最小粒子”,原子操作意为“不可被中断的一个或一系列操作”。处理器实现原子操作方式: (1) 总线锁:处理器提供一个LOCK#信号,当一个处理器在总线上输出此信号时,其他处理器的请求将被阻塞住,该处理器就可以独占共享内存。
2018-01-24 19:59:24 603
转载 Java8 Stream 并行计算实现的原理
转自:http://lvheyang.com/?p=87这两天组内的小伙伴在学习Java8,推广在新项目内使用新特性。正好看到了Stream 带来的遍历的多线程并发: Arrays.asList(1, 2, 3, 4, 5, 6, 7, 9, 8, 0, 1) .stream() .parallel() .collect(Col
2018-01-24 04:46:21 19220 6
原创 快速失败(fail—fast) 和 安全失败(fail—safe)总结
快速失败:当你在迭代一个集合的时候,如果有另一个线程正在修改你正在访问的那个集合时,就会抛出一个ConcurrentModification异常。 在java.util包下的都是快速失败。 安全失败:你在迭代的时候会去底层集合做一个拷贝,所以你在修改上层集合的时候是不会受影响的,不会抛出ConcurrentModification异常。 在java.util.concurre
2018-01-17 23:53:51 652
原创 Java8学习笔记:2.Stream流
今天学习总结了Stream(),在此备注:惰性求值方法:类似sql查询的where条件,过滤stream的条件。如:filter()及早求值函数:类似sql查询的seletct条件,直返结果。如:count(),max()方法总结:count():及早求值函数,求总数。collect():由Stream里的值生成一个列表,是一个及早求值操作(.of()方法时惰性求值的方法)
2018-01-13 20:48:40 1141
原创 Java8学习笔记:1.函数接口
今天总结了下java8函数式接口,又花了几个小时把java.util.function下43个接口函数都写了测试。主要是为了用的时候快速记忆。主要是6个基本和常用函数,其他的都是相应扩展,便于快速识别和避免拆箱装箱。1.基本和常用函数 Runnable void -> void 执行run方法 Function 输入参数为类型T, 输出为类型
2018-01-13 16:38:42 289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人