2017年不容错过的10+个开源 Java库

  • 同时处理多个 Promise - .when(p1, p2, p3, …).then(…)

  • Callable 和 Runnable - wrappers.when(new Runnable() {…})

  • 使用执行服务(ExecutorService)

  • Java Generics 支持: Deferred<Integer, Exception, Doubledeferred;, deferred.resolve(10);, deferred.reject(new Exception());,deferred.notify(0.80);,

  • 支持 Android

  • 可以使用 Java 8 Lambda

  • GitHub,网站

    边城 边城翻译于 2天前0人顶  翻译得不错哦! 

    RxJava

    RxJava – JVM 的 Reactive Extensions (响应式扩展) – 一个用于 Java VM 的库,它通过可观测序列构成异步及基于事件的程序。

    它扩展了观察者模式以支持数据/事件流,并添加了操作符,使你能以申明的方式组合处理序列,对一些事情进行抽象,比如低级线程、同步、线程安全和并发数据结构。

    RxJava 常见的应用是在后台线程运行一些计算或网络请求,并在 UI 线程显示结果(或错误):

    Flowable.fromCallable(() -{    Thread.sleep(1000); //  imitate expensive computation    return "Done";})  .subscribeOn(Schedulers.io())  .observeOn(Schedulers.single())  .subscribe(System.out::println, Throwable::printStackTrace); Thread.sleep(2000); // <--- wait for the flow to finish

    GitHub,Wiki

    边城 边城翻译于 1天前1人顶  翻译得不错哦! 其它翻译版本(1)

    MBassador

    MBassador 是一个轻量级、高性能的事件总线,它实现了发布/订阅模式。它的设计目的是易用、功能丰富和可扩展,同时保持资源的高效利用和良好性能。

    MBassador 高性能的核心在于一个专用的数据结构,这个数据结构提供了非阻塞读功能以及在写时最小化锁竞争,因此它将并行读/写访问造成的性能损耗降到最低。

    • 注解驱动

    • 分发的所有东西都会考虑类型层级

    • 同步和异步的消息分发

    • 可配置的引用类型

    • 消息过滤

    • 封装消息

    • 多级优先层次处理

    • 自定义错误处理

    // Define your listenerclass SimpleFileListener{    @Handler    public void handle(File msg){      // do something with the file    }}// somewhere else in your codeMBassador bus = new MBassador();Object listener = new SimpleFileListener();bus.subscribe (listener);bus.post(new File("/tmp/smallfile.csv")).now();bus.post(new File("/tmp/bigfile.csv")).asynchronously();

    GitHub,Javadoc

    边城 边城翻译于 2天前1人顶  翻译得不错哦!