Introduction to Reactive Programming

Reactive programming is about dealing with data streams and the propagation of change.

Reactive systems are applications whose architectural approach make them responsive, resilient, elastic and message-driven.

Java Concurrency: The Basics

The Power of Multi-Threading in Java

This article describes the basics of Java Concurrency API, and how to assign work to be done asynchronously.

A thread is the smallest unit of execution that can be scheduled by the operating system, while a process is a group of associated threads that execute in the same, shared environment.

You may also like: [DZone Refcard] Core Java Concurrency

We call “system thread” the thread created by the JVM that runs in the background of the application (e.g. garbage-collector), and a “user-defined thread” those which are created by the developer.