Dieses Seminar kannst du als firmeninterne Schulung buchen. Entweder führen wir das Seminar in Präsenz bei euch vor Ort oder Online durch.
Was du lernen wirst
Construction & Initialization
- Construction & Initialization
- Finalization, Cleaner & Automatic Resource Management
Object Infrastructure
- Copying Objects (Implementing clone())
- Object Equality (Implementing equals())
- Hashing Objects (Implementing hashCode())
- Comparing Objects (Implementing compareTo())
Immutability
- final vs. Constness vs. Immutability
- The Dual Class Idiom
Generics
- Generic Types & Methods
- Type Variables
- Wildcards
- Type Erasure
Lambdas & Streams
- An Overview of Lambdas & Method References
- An Overview of the Stream API
Reflection & Dynamic Proxies
- An Overview of the Reflecion API
- Dynamic Proxies
Annotations und Compiler Plugins
- Declaring Annotation Types
- Annotating Program Elements
- Processing Annotations Using Reflection
- Compiler-Plugins for Annotation Processing
Soft & Weak References
- Using Weak References to Avoid Unwanted References
- Using Soft References to Implement Caches
- Using Phantom References for Cleaning
Enumeration Types
- Syntax and Byte Code Representation
- Pitfalls With Static Initialization of Enums
Minor "New" Language Features
Java 5-8
- Autoboxing and Related Pitfalls
- Variable Argument Lists and Related Pitfalls
- „Diamond Operator“
- Varargs Warnings
- Improved re-throw & Multi-Catch
- Automatic Resource Management
- Strings in Switch
- Numeric Literals
- Default & Static Interface Methods
Java 10-18
- Local Variable Type Inference
- Switch Expressions
- Extended instanceof
- Text Blocks
- Records
- Sealed Types
- Pattern Matching for Switch
Serialization
- Default Serialization
- Custom Serialization
- Object Stream Support
Class Loading
- Class Loader Basics
- Custom Class Loader
The Java Platform Module System (JPMS)
- Module Descriptors
- Named, Unnamed & Automatic Modules
- Migration Strategies