Java SE 8 Programmer II menuntut pemahaman lanjutan terhadap pemrograman berorientasi objek, desain class, dan prinsip desain yang menjadi fondasi pengembangan aplikasi Java skala menengah hingga enterprise. Pada level ini, developer tidak hanya dituntut memahami sintaks, tetapi juga perilaku runtime Java seperti virtual method invocation, polymorphism, kontrak equals–hashCode, penggunaan enum, serta struktur class kompleks termasuk nested class. Penguasaan konsep-konsep ini menjadi kunci dalam membangun aplikasi Java yang konsisten, robust, dan sesuai best practice industri (Oracle, 2023).
Course Java SE 8 Programmer II Exam Guide dirancang untuk mempersiapkan peserta menghadapi sertifikasi Oracle Certified Professional (OCP) Java SE 8 Programmer II sekaligus memperkuat kompetensi teknis lanjutan. Peserta akan mempelajari design principles dan design patterns, generics dan collections framework, serta paradigma functional programming melalui lambda expression, functional interfaces, Optional, dan Stream API. Materi ini mencerminkan evolusi Java modern yang menekankan kode yang lebih deklaratif, aman, dan mudah dipelihara, khususnya dalam pengolahan data koleksi dan pipeline pemrosesan (Oracle, 2022).
Selain itu, course ini membahas topik penting seperti concurrency, pengelolaan thread dengan ExecutorService, concurrent collections, parallel streams, serta identifikasi masalah threading. Peserta juga akan mempelajari exception handling lanjutan, assertions, I/O dan NIO.2, serta integrasi database menggunakan JDBC. Dengan cakupan ini, peserta tidak hanya siap menghadapi ujian OCP Java SE 8 Programmer II, tetapi juga memiliki fondasi kuat untuk mengembangkan aplikasi Java yang scalable, concurrent, dan siap digunakan di lingkungan produksi modern (Bloch, 2021).
OBJECTIVES
1. Menguasai Konsep Advanced Class Design
2. Memahami Design Patterns dan Prinsip Pemrograman
3. Mengelola Generics dan Collections Secara Efisien
4. Mengimplementasikan Functional Programming
5. Mengelola Tanggal, String, dan Lokalisasi
6. Mengelola Exception dan Assertions
7. Memahami dan Mengelola Concurrency
8. Mengelola File dan I/O dalam Java
9. Menggunakan NIO.2 untuk Manajemen File yang Lebih Efisien
10. Menghubungkan Aplikasi Java dengan Database Menggunakan JDBC
AUDIENCE
1. Java Developer
2. Software Engineer
3. Backend Developer
4. Mobile Developer
5. DevOps Engineer
6. Software Tester
7. Technical Lead
PREREQUISITES
1. Java SE Fundamentals
2. Java SE 8 Programmer II Exam Guide
CONTENT
1. Advanced Class Design
1.1. Reviewing OCA Concepts
1.2. Using instanceof
1.3 .Understanding Virtual Method Invocation
1.4. Annotating Overridden Methods
1.5. Coding equals, hashCode, and toString
1.6. Working with Enums
1.7. Creating Nested Classes
2. Design Patterns and Principles
2.1. Designing an Interface
2.2. Introducing Functional Programming
2.3. Implementing Polymorphism
2.4. Understanding Design Principles
2.5. Working with Design Patterns
3. Generics and Collections
3.1. Reviewing OCA Collections
3.2. Working with Generics
3.3. Using Lists, Sets, Maps, and Queues
3.4. Comparator vs. Comparable
3.5. Searching and Sorting
3.6. Additions in Java 8
4. Functional Programming
4.1. Using Variables in Lambdas
4.2. Working with Built-In Functional Interfaces
4.3. Returning an Optional
4.4. Using Streams
4.5. Working with Primitives
4.6. Working with Advanced Stream Pipeline Concepts
5. Dates, Strings, and Localization
5.1. Working with Dates and Times
5.2. Reviewing the String class
5.3. Adding Internationalization and Localization
6. Exceptions and Assertions
6.1. Reviewing Exceptions
6.2. Creating Custom Exceptions
6.3. Using Multi-catch
6.4. Using Try-With-Resources
6.5. Rethrowing Exceptions
6.6. Working with Assertions
7. Concurrency
7.1. Introducing Threads
7.2. Creating Threads with the ExecutorService
7.3. Synchronizing Data Access
7.4. Using Concurrent Collections
7.5. Working with Parallel Streams
7.6. Managing Concurrent Processes
7.7. Identifying Threading Problems
8. IO
8.1. Understanding Files and Directories
8.2. Introducing Streams
8.3. Working with Streams
8.4. Interacting with Users
9. NIO.2
9.1. Introducing NIO.2
9.2. Interacting with Paths and Files
9.3. Understanding File Attributes
9.4. Presenting the New Stream Methods
10. JDBC
10.1. Introducing Relational Databases and SQL
10.2. Introducing the Interfaces of JDBC
10.3. Connecting to a Database
10.4. Obtaining a Statement
10.5. Executing a Statement
10.6. Getting Data from a ResultSet
Course Features
- Lecture 0
- Quiz 0
- Duration 32 hours
- Skill level All levels
- Language Indonesia
- Students 0
- Certificate No
- Assessments Yes




