自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除