Code Monkey home page Code Monkey logo

java-flow-experiments's Introduction

java-flow-experiments

In this repository, I'm experimenting with Reactive Streams, which are going to become part of the Java 9 in the java.util.concurrent package in Java 8 application and with native Java 9 Reactive Streams as well.

This repository is prepared for my talk titled Get ready for java.util.concurrent.Flow!

during JDD 2017 Conference on 03.10.2017 in Kraków, Poland.

Presentation slides

Presentation slides are published at:

https://speakerdeck.com/pwittchen/get-ready-for-java-dot-util-dot-concurrent-dot-flow

My blog posts related to JDD conference

Java 8 project

Inside java8 directory, I'm playing with two implementations of Reactive Streams:

Project inside java8 directory can be cleaned, compiled and run via Gradle Wrapper.

It contains only exploratory tests for different reactive libraries.

To run tests, type: ./gradlew test.

Java 9 project

Inside java9 directory I'm playing with native Java 9 Reactive Streams interfaces. This project is based on Gradle. If you have problems with importing it into IntelliJ IDEA, choose Java 8 during import and switch Java version to 9 after import. In the case of problems with compilation, update gradle.properties file. To build project, type: ./gradlew build. To run the compiled project, type: ./gradlew run.

The example implementations are examples from the Reactive Streams examples, as implementing one-off by-hand implemented Publishers/Subscribers is actually pretty hard to pull off - due to the restrictive Specification which governs how these implementations much behave.

Git branches

  • master branch contains code snippets from presentation and exepriments
  • presentation branch contains code snippets for Java 8 shown during the presentation and empty project in Java 9 for live coding

References

java-flow-experiments's People

Contributors

ktoso avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

java-flow-experiments's Issues

Please verify (and fix) implementations using Reactive Streams TCK

Hi there,
codifying my request to please check the implementations using the technology compatibility kit (
https://github.com/reactive-streams/reactive-streams-jvm/tree/master/tck ) before showing them to people.

It's very important that we do not show people incorrect implementations of these interfaces (as the ones in Main.java) as it will hurt the entire Flow.* / Reactive Streams ecosystem if there will be incorrect implementations floating around.

Thanks for your understanding and please feel free to reach out on https://github.com/reactive-streams/reactive-streams-jvm if you're unsure about some part of the specification. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.