Course Outline

Εισαγωγή στο Java

  • Ιστορία και εξέλιξη του Java
  • Επισκόπηση των Java εκδόσεων και ενημερώσεων
  • Τι νέο υπάρχει στο Java 17
  • Ρύθμιση Java Development Kit (JDK 17) και IDE

Java Δομή προγράμματος

  • Σύνταξη ενός απλού Java προγράμματος
  • Java επισκόπηση σύνταξης
  • Μεταγλώττιση και εκτέλεση Java εφαρμογών

Τύποι δεδομένων και μεταβλητές

  • Πρωτόγονοι τύποι δεδομένων και κλάσεις περιτυλίγματος
  • Δήλωση μεταβλητών και σταθερών
  • Μετατροπή τύπου και χύτευση

Χειριστές σε Java

  • Αριθμητικούς, σχεσιακούς, λογικούς και bitwise τελεστές
  • Προτεραιότητα και συσχετισμός χειριστή

Δηλώσεις ροής ελέγχου

  • Δηλώσεις υπό όρους (if-else, switch)
  • Κατασκευές βρόχου (for, while, do-while)
  • Βελτιωμένες εκφράσεις διακόπτη (Java 17 χαρακτηριστικό)

Εισαγωγή στις έννοιες του OOP

  • Τάξεις και αντικείμενα
  • Ενθυλάκωση, Κληρονομικότητα, Πολυμορφισμός και Αφαίρεση

Δημιουργία κλάσεων και αντικειμένων

  • Δήλωση και αρχικοποίηση αντικειμένων
  • Αυτή η λέξη-κλειδί
  • Κατασκευαστές (προεπιλογή και παραμετροποιημένοι)

Κληρονομία

  • Επέκταση τάξεων (επεκτείνει τη λέξη-κλειδί)
  • Παράκαμψη μεθόδου και σούπερ λέξη-κλειδί
  • Αφηρημένες τάξεις και μέθοδοι

Πολυμορφισμός

  • Πολυμορφισμός χρόνου μεταγλώττισης έναντι χρόνου εκτέλεσης
  • Υπερφόρτωση και παράκαμψη μεθόδου

Διεπαφές

  • Καθορισμός και υλοποίηση διεπαφών
  • Λειτουργικές διεπαφές και προεπιλεγμένες μέθοδοι

Κατηγορίες εγγραφής (Java 17 χαρακτηριστικό)

  • Κατανόηση των εγγραφών στο Java 17
  • Πώς οι εγγραφές απλοποιούν την ενθυλάκωση δεδομένων

Γενόσημα σε Java

  • Κατανόηση των παραμέτρων τύπου
  • Γενικές κλάσεις, μέθοδοι και διεπαφές
  • Περιορισμένοι τύποι και χαρακτήρες μπαλαντέρ

Χειρισμός Εξαίρεσης

  • Τύποι εξαιρέσεων (επιλεγμένα και μη)
  • Try-catch-finally blocks
  • Πετώντας και πιάνοντας εξαιρέσεις
  • Δημιουργία προσαρμοσμένων εξαιρέσεων

Java Πλαίσιο Συλλογών

  • Διασυνδέσεις λίστας, ορισμού, χάρτη και ουράς
  • Δημοφιλείς υλοποιήσεις: ArrayList, HashMap, HashSet
  • Επαναληπτικοί και ενισχυμένοι βρόχοι για

Ιόντα λάμδα Express και λειτουργικά Programming

  • Εισαγωγή στις εκφράσεις λάμδα
  • Σύνταξη και χρήση
  • Λειτουργικές διεπαφές

Stream API

  • Επισκόπηση των Java ροών
  • Λειτουργίες ροής (φιλτράρισμα, χαρτογράφηση, μείωση)
  • Παράλληλες ροές και εκτιμήσεις απόδοσης

Σφραγισμένες τάξεις

  • Καθορισμός και χρήση σφραγισμένων κλάσεων
  • Επιτρεπόμενες υποκατηγορίες και περιορισμοί

Αντιστοίχιση μοτίβων για παράδειγμα (Java 17 χαρακτηριστικό)

  • Απλοποίηση ελέγχων τύπου με αντιστοίχιση προτύπων

Μπλοκ κειμένου

  • Εργασία με μπλοκ κειμένου πολλών γραμμών στο Java
  • Σύγκριση με τον παραδοσιακό χειρισμό χορδών

Βελτιώσεις εγγραφών και σειριοποίησης

  • Σειριοποίηση και συμβατότητα προς τα πίσω
  • Πώς οι εγγραφές βελτιώνουν την αναγνωσιμότητα και τη συντήρηση του κώδικα

Κατάργηση και αφαίρεση λειτουργιών

  • Καταργημένα API στο Java 17
  • Αφαίρεση παλαιών λειτουργιών

Εναλλαγή ιόντων Express Βελτιώσεις

  • Ταίριασμα μοτίβου στο διακόπτη
  • Χρήση εκφράσεων διακόπτη για καθαρότερο κώδικα

API ξένων λειτουργιών και μνήμης (Incubator)

  • Επισκόπηση της μονάδας θερμοκοιτίδας
  • Εργασία με εγγενή κώδικα στο Java

Java Σύστημα ενότητας (Project Jigsaw)

  • Εισαγωγή στις ενότητες στο Java
  • Δημιουργία και χρήση ενοτήτων
  • Περιγραφείς ενοτήτων και module-info.java
  • Πλεονεκτήματα της σπονδυλοποίησης

Συγχρονισμός και Multithreading

  • Εισαγωγή στα νήματα και το multithreading
  • Διεπαφή με δυνατότητα εκτέλεσης και διεπαφή με δυνατότητα κλήσης
  • Συγχρονισμός, κλειδώματα και ασφάλεια νημάτων

Ασύγχρονη Programming με CompetableFuture

  • Σύνταξη ασύγχρονου κώδικα
  • Χρήση του CompetableFuture για μη αποκλειστικές λειτουργίες

Ανάπτυξη εφαρμογών Java

  • Δημιουργία και εκτέλεση αρχείων JAR
  • Συσκευασία και διανομή Java εφαρμογών
  • Εισαγωγή στο GraalVM (προαιρετικό)

Βέλτιστες πρακτικές και βελτιστοποίηση κώδικα

  • Σύνταξη αποτελεσματικού και συντηρήσιμου Java κώδικα
  • Κοινές παγίδες απόδοσης και πώς να τις αποφύγετε
  • Τεχνικές ανακατασκευής κώδικα

Περίληψη και Επόμενα Βήματα

Requirements

  • Βασικές γνώσεις προγραμματισμού

Ακροατήριο

  • προγραμματιστές λογισμικού
  • Προγραμματιστές
 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories