Course Outline
Abstract classes
- Declaration principles and implementation of abstract classes
- Common challenges encountered when working with abstract classes
The role of classes, abstract classes, and interfaces in the application model
- Levels of object-oriented abstraction in Java
- The complete object model in Java
- Application models oriented around interfaces and abstract classes to enhance flexibility and ensure independence between subsystems in their implementation
- Use of abstract classes to extract shared functionality, complemented by the flexibility offered through interfaces
The role of dynamic and static objects in the application model
- Static Java classes and their dynamic properties
- Distinguishing the functionality of both entity types within Java, typical use cases, and best practices for designing solutions based on static and dynamic Java entities
- Introduction to design patterns
- Introduction to the factory design pattern
Operations with primitive types and wrapper classes
- Key facts and techniques for extending the use of primitive types within the Java object model
- Discussion of the role of wrapper classes for primitive types and their typical applications in software development
Special Java objects: the String, StringBuilder, and StringBuffer classes
A review of the fundamental properties of the String class and how the Java virtual machine handles String objects
The use of buffer classes and operations on strings
Formatting, parsing, and regular expressions
- Introduction to regular expressions in Java
- Discussion of both basic techniques for handling regular expressions using the String class and advanced techniques based on dedicated classes for such constructs
- Tokenisation, searching, and pattern matching for string types
I/O operations
- A detailed exploration of Java I/O mechanisms, including stream classes, Writer and Reader classes, wrapper classes, and buffered streams in Java
- Opening, closing, and writing to files and sockets
Inner classes – detailed discussion
- Implementation and usage of inner classes and so-called anonymous classes in Java
Threads – detailed discussion, applications, and challenges
- Discussion of thread-related topics, ranging from the abstraction mechanism for threads in Java to thread synchronisation, thread grouping, thread pools, and common issues such as deadlocks
Java Reflection – introduction and application
- Introduction to the Java reflection mechanism
- Coverage includes the implementation of reflection in Java, loading and executing class methods, instantiating classes, and exploring class structures
Java Serialization
- Introduction to Java object serialization
- Understanding what serialization is, how to serialise objects, handling interdependent objects, and avoiding common pitfalls associated with these issues
- Typical use cases, including examples involving serialization with RMI and CORBA
Requirements
Participants should have a solid understanding of the topics covered in the Java Fundamentals course.
Testimonials (3)
That we got a complex overview also about the context - for example why do we need some annotations and what they mean. I liked the practical part of the training - having to manually run the commands and call the rest api's
Alina - ACCENTURE SERVICES S.R.L
Course - Quarkus for Developers
interaction through exercises and also projects sharing
Claudiu - MSG system
Course - Advanced Spring Boot
The extra information that was shared, the training was not straightforward groovy, which was nice.