© Γιάννης Κωστάρας
- Εισαγωγή
- λ-εκφράσεις και αναφορές μεθόδων (method references)
- Ροές (streams)
- Filter-Map-Reduce
- Infinite και Parallel Streams
- Ανταποκρίσιμος (Reactive) προγραμματισμός
- Παράλληλος προγραμματισμός, νήματα (threads)
- Κύκλος ζωής ενός νήματος
- Δημιουργία νημάτων μέσω των κλάσεων Thread, Runnable, Executor
- Συγχρονισμός νημάτων (Locks, synchronized, conditions)
- Atomic counters
- Concurrent collections
- Java Memory Model
- Συλλέκτες σκουπιδιών (Garbage Collectors)
- Εργαλεία μέτρησης της απόδοσης εφαρμογών Java
- Abstract Window Toolkit (AWT) (μόνο συνοπτικά)
- Δημιουργία γραφικών διεπαφών χρήστη με το Swing
- Δομή μιας εφαρμογής Swing
- Δημιουργία πρωτότυπου με το NetBeans Mattisse
- Layout Managers και widgets
- Event Handling
- Δημιουργία μιας εφαρμογής σε Swing
- Δημιουργία γραφικών διεπαφών χρήστη με τη JavaFX
- Δομή μιας εφαρμογής JavaFX
- Δημιουργία πρωτότυπου με το JavaFX SceneBuilder
- Layout Managers και widgets
- Event Handling
- Δημιουργία μιας εφαρμογής σε JavaFX
- Τρόποι επικοινωνίας με ΒΔ. JDBC
- Object Relational Mapping (ORM)
- JPA annotations
- Σχέσεις
- JPAStreamer
- Στρατηγικές ανάκτησης δεδομένων (fetching strategies)
- Εισαγωγή στο δικτυακό προγραμματισμό
- Sockets
- NIO.2 asynchronous channels
- Netty
- HTTP/2