Programming 2: concurrency, patterns and networking (Java)
Course work in Java: multithreading, the State and Observer patterns, MVVM with JavaFX, and TCP/UDP sockets.
Java
JavaFX
MVVM
Multithreading
Sockets
Overview
Exercises and an assignment from the Programming 2 course at VIA University College.
Highlights
- State pattern: a vinyl-record library where each record moves between available, reserved, borrowed and removed states, with a JavaFX MVVM front end
- Threads with Thread, Runnable and lambdas, including race conditions and how to fix them
- Observer pattern: a traffic light that notifies cars and pedestrians
- MVVM login/register and clock apps in JavaFX
- TCP and UDP client/server examples and a small login system over TCP
- A producer-consumer restaurant simulation using wait/notifyAll