Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Pengantar Java
- Sejarah dan evolusi Java
- Ikhtisar Java versi dan pembaruan
- Apa yang baru di Java 17
- Menyiapkan Java Development Kit (JDK 17) dan IDE
Java Struktur Program
- Menulis program sederhana Java
- Java ikhtisar sintaksis
- Mengkompilasi dan menjalankan Java aplikasi
Tipe Data dan Variabel
- Tipe data primitif dan kelas pembungkus
- Mendeklarasikan variabel dan konstanta
- Konversi dan pengecoran tipe
Operator di Java
- Operator aritmatika, relasional, logika, dan bitwise
- Prioritas dan asosiativitas operator
Pernyataan Aliran Kontrol
- Pernyataan kondisional (if-else, switch)
- Konstruksi perulangan (for, while, do-while)
- Ekspresi sakelar yang ditingkatkan (Java 17 fitur)
Pengantar Konsep OOP
- Kelas dan Objek
- Enkapsulasi, Pewarisan, Polimorfisme, dan Abstraksi
Membuat Kelas dan Objek
- Mendeklarasikan dan menginisialisasi objek
- Kata kunci ini
- Konstruktor (default dan berparameter)
Warisan
- Memperluas kelas (memperluas kata kunci)
- Penggantian metode dan kata kunci super
- Kelas dan metode abstrak
Polimorfisme
- Polimorfisme waktu kompilasi vs. waktu proses
- Overloading dan overriding metode
Antarmuka
- Mendefinisikan dan mengimplementasikan antarmuka
- Antarmuka fungsional dan metode default
Kelas Rekaman (Java 17 fitur)
- Memahami catatan dalam Java 17
- Bagaimana catatan menyederhanakan enkapsulasi data
Generik di Java
- Memahami parameter tipe
- Kelas, metode, dan antarmuka generik
- Tipe terbatas dan karakter pengganti
Penanganan Pengecualian
- Jenis-jenis pengecualian (yang dicentang dan tidak dicentang)
- Blok coba-tangkap-akhirnya
- Melempar dan menangkap pengecualian
- Membuat pengecualian khusus
Java Kerangka Koleksi
- Antarmuka Daftar, Setel, Petakan, dan Antrean
- Implementasi populer: ArrayList, HashMap, HashSet
- Iterator dan loop for yang disempurnakan
Lambda Expression dan Fungsional Programming
- Pengenalan ekspresi lambda
- Sintaksis dan penggunaan
- Antarmuka fungsional
API aliran
- Tinjauan Umum Java Aliran
- Operasi aliran (penyaringan, pemetaan, pengurangan)
- Aliran paralel dan pertimbangan kinerja
Kelas Tertutup
- Mendefinisikan dan menggunakan kelas tertutup
- Subkelas dan batasan yang diizinkan
Pencocokan Pola untuk instanceof (Java 17 fitur)
- Menyederhanakan pemeriksaan tipe dengan pencocokan pola
Blok Teks
- Bekerja dengan blok teks multi-baris di Java
- Perbandingan dengan penanganan string tradisional
Peningkatan Rekaman dan Serialisasi
- Serialisasi dan kompatibilitas mundur
- Bagaimana catatan meningkatkan keterbacaan dan pemeliharaan kode
Penghentian dan Penghapusan Fitur
- API yang tidak digunakan lagi di Java 17
- Penghapusan fitur yang sudah ketinggalan zaman
Peningkatan ExpressSaklar
- Pencocokan pola di switch
- Menggunakan ekspresi switch untuk kode yang lebih bersih
Fungsi Asing & API Memori (Inkubator)
- Tinjauan umum modul inkubator
- Bekerja dengan kode asli di Java
Java Sistem Modul (Proyek Jigsaw)
- Pengenalan modul di Java
- Membuat dan menggunakan modul
- Deskripsi modul dan module-info.java
- Keuntungan modularisasi
Konkurensi dan Multithreading
- Pengenalan thread dan multithreading
- Antarmuka yang dapat dijalankan dan antarmuka yang dapat dipanggil
- Sinkronisasi, kunci, dan keamanan ulir
Asinkron Programming dengan CompetableFuture
- Menulis kode asinkron
- Menggunakan CompetableFuture untuk operasi non-pemblokiran
Penerapan Java Aplikasi
- Membuat dan mengeksekusi file JAR
- Pengemasan dan pendistribusian Java aplikasi
- Pengantar GraalVM (opsional)
Praktik Terbaik dan Optimasi Kode
- Menulis kode yang efisien dan dapat dipelihara Java
- Kendala umum dalam performa dan cara menghindarinya
- Teknik refactoring kode
Ringkasan dan Langkah Berikutnya
Requirements
- Pengetahuan dasar dalam pemrograman
Hadirin
- Pengembang perangkat lunak
- Pemrogram
35 Hours