1. 1. Services and processes
    ❱
    1. 1.1. Processes and Threads
      ❱
      1. 1.1.1. Concurrency
      2. 1.1.2. Shared State
      3. 1.1.3. Java
        ❱
        1. 1.1.3.1. Threads
        2. 1.1.3.2. Design techniques
        3. 1.1.3.3. Join, interrupt and volatile
        4. 1.1.3.4. Sincronization
        5. 1.1.3.5. Java concurrent library
      4. 1.1.4. Message passing
    2. 1.2. Sockets and Services
      ❱
      1. 1.2.1. Protocols
      2. 1.2.2. Sockets
      3. 1.2.3. Services
      4. 1.2.4. HTTP APIs
    3. 1.3. Criptography
      ❱
      1. 1.3.1. Concepts
      2. 1.3.2. Cryptography in Java
      3. 1.3.3. Hashes, signatures and certificates
      4. 1.3.4. SSL communication with sockets
      5. 1.3.5. Key management
      6. 1.3.6. Certificate formats
    4. 1.4. Security
      ❱
      1. 1.4.1. Access control
      2. 1.4.2. Secure design
      3. 1.4.3. Tecnologies

notes.jg5.dev

Processes and Threads

Learning results:

  1. Develop multi-process applications recognizing and applying parallel programming principles.
  2. Develop applications composed of several threads of execution by analyzing and applying specific libraries of the programming language.

References

  • Java Concurrency Terminology
  • Java Language Specification, capítol 17: Threads and Locks
  • The Java tutorials: Concurrency
  • Java Concurrency and Multithreading Tutorial
  • Threads (Java in a nutshell)
  • How to work with wait(), notify() and notifyAll() in Java?
  • Thread Communication using wait/notify
  • The evolution of the producer / consumer problem in Java
  • Java CompletableFuture Tutorial with Examples
  • Concurrency in JavaFX 8
  • Liveness (The Java Tutorials, Oracle)
  • Liveness (Wikipedia)
  • The Deadlock Empire
  • Thread Safety (6.005: Software Construction)
  • What is Thread Dump and How to Analyze them?

Reactive systems programming:

  • Reactive Programming: Why It Matters
  • Reactive programming vs Reactive systems
  • RxJava Wiki
  • RxJava Backpressure
  • Reactive Manifesto (Glossary)
  • RxJava and Reactive Programming
  • Understanding RxJava Basics
  • The Complete RxJava Roadmap: From Novice to Advanced
  • Poor Man's Actors in Java
  • Designing Reactive Systems (llibre de Hugh McKee)
  • Reactive in practice: A complete guide to event-driven systems development in Java
  • A reactive Java landscape
  • Reactive Programming with Reactor 3