- 博客(16)
- 资源 (3)
- 收藏
- 关注
原创 RxJava2.0
其中有一篇博客写的很精彩戳这里一、背景无论是java8的CompletableFuture还是RxJava都是基于观察者模式的。只不过Rxjava更强大,有更好的错误处理、中断机制、完成状态二、创建Observable ( 被观察者 ) / Observer ( 观察者 )Flowable (被观察者)/ Subscriber (观察者) 【支持回压】package com.hfv...
2019-03-20 17:27:37 388
原创 java8之CompletableFuture
一、背景JDK1.5中对线程获取结果进行了很大的优化,具体可以参考我以前的博客戳这里,但是针对多线程结果其实还是通过无限循环,或者 阻塞的方式来获取的,很不友好,比如Rxjava已经实现了利用观察者模式,完成后通过回调来获取结果。所以在jdk1.8中增加了类CompletableFuture来对Future进行增强。二、简单实用2.1、创建异步应用CompletableFuture.sup...
2019-03-17 21:40:02 662
翻译 响应式编程
该文参考点这里一、背景最近看spring boot的时候,看到了Spring5.0支持Webflux,这个对我算是一个比较新鲜的东西。从这里面了解到一种新的编成思想Reactive 编程Reactive 编程: 一种异步编程的示范,这种示范与数据流式处理以及变化传播相关联,同时也经常被面向对象语言表示,作为一种观察者模式的扩展。目前实现该编成的有三种:Reactor(webflux...
2019-03-15 17:21:45 134
原创 CountDownLatch
这个采用的也是类似ReentrantLock中的AQS机制,CountDownLatch是让部分线程去等待其他线程执行完,然后再次去执行部分线程。也就是说,线程之前存在了因果关系,一部分线程的执行需要等待另外一部分线程的完成(也不能说是完成,可以说是另外一部分线程达到某种预期的结果后,大部分情况是线程的完成)。其实waitnotifyAll机制也是这样的,某些线程先进入wait状...
2019-03-13 17:10:08 587
原创 fail-fast机制(CopyOnWriteArrayList)
一、发现问题这个机制在java集合中尤为常见。下面查看java结合根接口CollectionThe default implementation creates a late-binding spliterator from the collections's {@code Iterator}. The spliterator inherits thefail-fast properti...
2019-03-13 14:56:29 359
原创 【JAVA多线程编程核心技术】第四章 Lock(ReentrantLock)
一、ReentrantLock简介ReentrantLock:可重入锁。分路分支通知功能package com.hfview.reentrantLock.base;import java.util.concurrent.locks.ReentrantLock;/** * ReentrantLock的基本使用 * * @author: zhw * @since: 2019/...
2019-03-12 15:27:48 103
转载 【转】synchronized与volatile多线程的可见性和原子性
转载地址:synchronized和volatile的可见行和原子性(1)Synchronized:保证可见性和原子性Synchronized能够实现原子性和可见性;在Java内存模型中,synchronized规定,线程在加锁时,先清空工作内存→在主内存中拷贝最新变量的副本到工作内存→执行完代码→将更改后的共享变量的值刷新到主内存中→释放互斥锁。(2)Volatile:保证可见性,但不保证...
2019-03-04 16:07:46 196
原创 【JAVA多线程编程核心技术】第二章 对象及变量的并发访问
这里仅仅是我读该书收获的知识点,如果我熟悉的我自动或略不写一、synchronized可重入锁在使用synchronized,当一个线程获取某个锁之后,再次请求这个锁,可以再次得到这个锁。比如线程thread-0获取了对象A的锁,现在还没有释放该锁,然后开始去请求另外一个资源(或者方法),而该资源也需要对象A的锁,如果不可重入,那么可以想象的是会发生死锁public synchroni...
2019-03-03 13:46:13 146
原创 【JAVA多线程编程核心技术】第一章 Java多线程技能(待补充)
这里仅仅是我读该书收获的知识点,如果我熟悉的我自动或略不写一、创建方式java多线程有两种创建方式继承thread实现Runnable接口下面演示实现Runnable接口的创建方式:Class A implements Runable{ @Override public void run() { System.out.p...
2019-03-02 21:38:36 202
kafka-manager-2.0.0.2.zip
2019-07-23
spring 2.5。6 适合2.5.6以前的 以后的也推荐
2013-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人