Java Advanced II: Java High-Performance - μάθημα 67.500 RUB. από το IBS Training Center, εκπαίδευση 40 ωρών, Ημερομηνία 29 Ιανουαρίου 2024.
μικροαντικείμενα / / December 04, 2023
Ο Pavel εργάζεται στη Luxoft από το 2005. Κατά τη διάρκεια αυτής της περιόδου, συμμετείχε σε μια σειρά από έργα για κορυφαίες ρωσικές και ξένες εταιρείες, όπως Boeing, Russian Post, DHL, MVideo. Επί του παρόντος, παίζει το ρόλο του επικεφαλής μηχανικού λογισμικού σε ένα έργο για την υποστήριξη της μεγαλύτερης αλυσίδας λιανικής πώλησης ηλεκτρονικών και οικιακών συσκευών στη Ρωσία. Το κύριο ενδιαφέρον του Pavel είναι η ανάπτυξη κλιμακούμενων εφαρμογών Java και η παροχή τεχνικών λύσεων για τη βελτίωση της απόδοσης και της αξιοπιστίας της εφαρμογής.
Θέματα που καλύπτονται:
Ενότητα 1. Ανασκόπηση συντονισμού απόδοσης – 5 ώρες.
Γενικές Ιατρικές;
Στρατηγικές συντονισμού απόδοσης.
Μετρήσεις απόδοσης;
Πώς να βελτιώσετε την παραγωγικότητα;
Εργαλεία μέτρησης απόδοσης;
JMeter;
Δοκιμή φόρτωσης με χρήση JMeter.
Πώς να βελτιώσετε την παραγωγικότητα χρησιμοποιώντας την αρχιτεκτονική;
Βέλτιστες πρακτικές για τη βελτίωση της απόδοσης του κώδικα.
Εργασία για το σπίτι – 2 ώρες.
Ενότητα 2. Αλγόριθμοι GC – 5 ώρες.
Χρήση μνήμης αντικειμένων Java.
Γενικές προσεγγίσεις και αλγόριθμοι απορριμματοσυλλεκτών.
Serial GC Garbage Collector;
Παράλληλος συλλέκτης απορριμμάτων GC;
CMS Garbage Collector;
Συλλέκτης απορριμμάτων G1;
Shenandoah Garbage Collector;
Συντονισμός συλλεκτών σκουπιδιών.
Εργαλεία για τη συλλογή και την ανάλυση μετρήσεων συλλογής σκουπιδιών.
Επιλέγοντας τον βέλτιστο συλλέκτη σκουπιδιών.
Ενότητα 3. HotSpot JIT compiler – 5 ώρες.
Σύνταξη JIT;
Java bytecode;
Συλλογή πολλαπλών επιπέδων.
Η κρυφή μνήμη κώδικα και ο συντονισμός της.
Βελτιστοποίηση κώδικα;
Αποβελτιστοποίηση κώδικα και πότε συμβαίνει.
Εργαλείο JITWatch για την ανάλυση αποτελεσμάτων μεταγλώττισης.
Τύποι βελτιστοποιήσεων;
κερδοσκοπικές βελτιστοποιήσεις;
Ρυθμίσεις μεταγλωττιστή.
Σύνταξη ΑΟΤ.
Εργασία για το σπίτι – 2 ώρες.
Ενότητα 4. Σημαίες JVM - 3 ώρες.
Σκοπός και κατηγορίες σημαιών JVM.
Γενικές σημαίες.
Σημαίες που σχετίζονται με χορδές.
Σημαίες διαχείρισης μνήμης.
Σημεία ασφαλείας και σημαίες που σχετίζονται με αυτά.
TLAB και σημαίες που σχετίζονται με αυτά.
Σχέδιο συντονισμού JVM.
Ενότητα 5. Δοκιμή απόδοσης αλγορίθμων (benchmarking) με χρήση JMH – 2 ώρες.
Τι είναι η συγκριτική αξιολόγηση;
Εισαγωγή στο JMH;
JMH API;
Μη τετριμμένα παραδείγματα.
Εφαρμογή της JMH στην πράξη.
Εργασία για το σπίτι – 2 ώρες.
Ενότητα 6. Χρήση μνήμης εκτός του σωρού (μνήμη εκτός σωρού) – 3 ώρες.
Τι είναι ήλιος.misc. Επισφαλής;
Μη ασφαλείς μέθοδοι.
Απόδοση εγγενούς μνήμης.
Δημιουργία δομών δεδομένων στην εγγενή μνήμη.
Αξιολόγηση της απόδοσης της εγγενούς μνήμης και σύγκριση με τη μνήμη σωρού.
Υποσχόμενο API πρόσβασης ξένης μνήμης.
Ενότητα 7. Σειρά - 2 ώρες.
Σειριακά προγράμματα JSON (GSON, Jackson);
Binary serializers (Protobuf, Jackson Smile, Kryo, FST, One NIO).
Συγκρίνοντας την απόδοση διαφορετικών σειριακών.
Ενότητα 8. Προφίλ Java – 4 ώρες.
Πότε και πώς να κάνετε προφίλ;
Προφίλ δειγματοληψίας και οργάνων.
Χρήση Java VisualVM για δημιουργία προφίλ.
Προφίλ με Spring AOP.
Δημιουργία προφίλ με IDEA και ασύγχρονο προφίλτρο.
Java Flight Recorder;
Ανάλυση αρχείων καταγραφής Java Flight Recorder χρησιμοποιώντας το Mission Conrol.
Δημιουργία και καταγραφή προσαρμοσμένων συμβάντων JFR.
Χρήση πρακτόρων Java για την ενσωμάτωση κώδικα και την καταγραφή τυχόν συμβάντων στο Java Flight Recorder.
Σύνταξη προγραμμάτων για αυτόματη ανάλυση αρχείων καταγραφής JFR.
Συλλογή και ανάλυση ερωτημάτων SQL με χρήση JFR.
Συλλογή και ανάλυση αιτημάτων REST με χρήση JFR.
Εργασία για το σπίτι – 2 ώρες.
Ενότητα 9. Παρακολούθηση και ανάλυση δεδομένων σωρού. Διαρροές μνήμης – 2 ώρες.
Εργαλεία ανάλυσης δεδομένων στη μνήμη.
Σημάδια διαρροής μνήμης.
Οι κύριες αιτίες των διαρροών μνήμης.
Αναζήτηση και εντοπισμός διαρροών μνήμης.
Ενότητα 10. GraalVM – 3 ώρες
Οικοσύστημα GraalVM;
Χρόνος εκτέλεσης GraalVM;
Polyglot API;
Σύνταξη και εγγενής εικόνα.
Σημεία αναφοράς.
Ενότητα 11. Προσωρινή αποθήκευση σε εφαρμογές Java - 3 ώρες.
Μοτίβα προσωρινής αποθήκευσης.
Σύγκριση API της κρυφής μνήμης.
Προσωρινή αποθήκευση ερωτημάτων βάσης δεδομένων.
Προσωρινή αποθήκευση αιτημάτων HTTP.
Βασικές μετρήσεις και ρυθμίσεις των βιβλιοθηκών προσωρινής αποθήκευσης.
Σύγκριση δημοφιλών βιβλιοθηκών προσωρινής αποθήκευσης.
Προσωρινή αποθήκευση σε επίπεδο υπηρεσίας.
Υπηρεσίες προσωρινής αποθήκευσης Spring;
Εφαρμογές που χρησιμοποιούν κρυφές μνήμες διαφορετικών επιπέδων.
Ενότητα 12. Ανασκόπηση άλλων προσεγγίσεων για τη βελτίωση της παραγωγικότητας - 3 ώρες.
Παράλληλος προγραμματισμός (σύνδεσμοι νημάτων, παράλληλες κλωστές, δομή σύνδεσης διχάλων).
Ασύγχρονος προγραμματισμός;
Αντιδραστικός προγραμματισμός (Reactor, VertX);
Βελτιστοποίηση της εργασίας με βάσεις δεδομένων.
Cloud computing (μικροϋπηρεσίες, Spring Cloud).
Σημεία αναφοράς και συμπεράσματα.