摘要: CountDownLatch 这个类使用起来比较简单.使用场景就是 你需要很多线程执行结束之后才执行最后的代码,那用这个就对了. 这个类底层是用aqs来实现的. 这类主要使用的方法 count.await(); count.countDown(); 里面的API很少 结束线程await() 1.co 阅读全文
posted @ 2019-05-06 13:44 北京de小刀 阅读(256) 评论(0) 推荐(0) 编辑
摘要: unsafe 锁与在jdk8中与其他的对比 最终测试: unsafe可以做哪些事情呢? unsafe. 直接调用cpu缓存 c++ 汇编指令 跳过构造器直接创建类 public class UnsafefooTest { public static void main(String[] args) 阅读全文
posted @ 2019-05-06 09:56 北京de小刀 阅读(333) 评论(0) 推荐(0) 编辑
摘要: atomicReference 可以保证对象的原子操作. public static void main(String[] args) { AtomicReference<Simple> atomic = new AtomicReference<>(new Simple("xiaodao",23)) 阅读全文
posted @ 2019-05-05 17:19 北京de小刀 阅读(2144) 评论(0) 推荐(0) 编辑
摘要: 看了前面的atomicInteger 这个就比较简单了 atomicBoolean 的使用 atomicLong 阅读全文
posted @ 2019-05-05 15:53 北京de小刀 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 关于设计模式,之前已经看过很多很多了.但是每次到过了很久之后,在此回忆总是感觉有模糊的感觉.这次我要重新学习一下设计模式.并在这里做一个博客记录,以作为以后的备忘吧.大家看过如果有问题或者更好的方式,可以在评论留言 这篇文章也是我写设计模式的开章.主要方式是看视频和看书,设计模式被人称为GOF23 阅读全文
posted @ 2019-05-05 15:52 北京de小刀 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 并发编程的3个重要概念 1.原子性: 一个操作或者多个操作,要么全部成功,要么全部失败 1.java中保证了基本数据类型的读取和赋值,保证了原子性,这些操作不可终端 2.可见性: volatile 可以保证可见性.主要是把变量放在主存里 多个线程访问这个变量,一个线程修改之后必须保证另一个线程可以看 阅读全文
posted @ 2019-04-30 18:07 北京de小刀 阅读(1233) 评论(0) 推荐(0) 编辑
摘要: 利用atimicInteger cas的特性实现一个锁 主要是使用的是 atomicIntegerAPI 的compareAndSet()方法,让线程不在阻塞,获取不到直接失败. 我们先定义一个异常类 锁实现类: compareAndSet 主要就是对比,前面一个是期望值 后面一个是你要设置的值. 阅读全文
posted @ 2019-04-30 18:07 北京de小刀 阅读(262) 评论(0) 推荐(0) 编辑
摘要: CompletableFuture 前面我们使用过jdk5 提出future的用法,但是在获取结果上并不是那么友好 在Java8中,CompletableFuture提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,并且提供了函数式编程的能力,可以通过回调的方式处理计算结果, 阅读全文
posted @ 2019-04-28 01:05 北京de小刀 阅读(605) 评论(0) 推荐(0) 编辑
摘要: spring注解方式 以前我也使用过纯注解方式.现在在这里做个记录 我们先认识几个我们都耳熟能详的注解 @configuration :从spring3.0这个注解就可以用于定义配置类,可以替换xml配置文件,相当于beans的根标签,配置类中可以包含一个或者多个@bean注解这些方法都会被一个 A 阅读全文
posted @ 2019-04-27 14:11 北京de小刀 阅读(2047) 评论(0) 推荐(0) 编辑
摘要: 关于spring ,我以前学过很多次,也看过很多的书.以及博客,但是总是不得要领,这次我再学习一遍,在这里做点记录,如果不对的地方还请大家指正 Ioc: inverse of controller 控制反转 . 对象的创建权利由程序反转给spring 什么是IOC容器呢? 所谓的IOC容器是指的sp 阅读全文
posted @ 2019-04-27 09:42 北京de小刀 阅读(8720) 评论(0) 推荐(0) 编辑