Java: Advanced Concepts for High-Performance Development
1h 59mAdvanced2023-01-03
Authors

Bethan Palmer
Developer
Course details
You’re comfortable with the basics of writing in Java, but you want to level up your skills and be more productive. In this course, Bethan Palmer has exactly what you need, with topics including generics, multi-threading, inputs and outputs, and more. After explaining the differences between versions of Java, Bethan dives into generics in Java, advanced data structures, and functional programming. She covers concurrency in Java, including how to use the Runnable interface, the ExecutorService, and synchronized methods. Bethan highlights topics around input and output like reading from System.in with a scanner, reading files with BufferedReader, and using try-with-resources. She also guides you through working with files in Java, creating a new file, working with directories, and copying files in Java. Each chapter includes challenges and solutions to reinforce what you’re learning.
Skills covered
VirtualizationJavaAdvancedOracleProgramming LanguagesNetwork and System AdministrationSoftware Development
Concepts
0. Introduction
- 01 - Learn advanced Java programming
- 02 - What you should know
- 03 - Using the exercise files
1. Getting Started
- 04 - Which version of Java to use
2. Generics in Java
- 05 - Introduction to generics in Java
- 06 - Generic methods in Java
- 07 - Bounded generics in Java
- 08 - The Liskov substitution principle in Java
- 09 - Using wildcards in generic programming
- 10 - Challenge - Using generics
- 11 - Solution - Using generics
3. Advanced Data Structures
- 12 - Collections in Java
- 13 - Using LinkedLists to structure data
- 14 - Storing pairs with HashMaps
- 15 - Using LinkedHashMaps
- 16 - Challenge - Data structures
- 17 - Solution - Data structures
4. Functional Programming in Java
- 18 - Functional Interfaces in Java
- 19 - Implementing lambdas in Java
- 20 - Using method references in Java
- 21 - Understanding streams in Java
- 22 - Using streams in Java
- 23 - Challenge - Functional programming
- 24 - Solution - Functional programming
5. Concurrency in Java
- 25 - Introduction to concurrency in Java
- 26 - The Thread class in Java
- 27 - The Runnable interface in Java
- 28 - Using the ExecutorService in Java
- 29 - Synchronized methods in Java
- 30 - Challenge - Name
- 31 - Solution - Name
6. Input and Output
- 32 - Understanding I O in Java
- 33 - Reading from System.in with a Scanner
- 34 - Reading files with BufferedReader
- 35 - Using try-with-resources with I O
- 36 - Challenge - Input and output
- 37 - Solution - Input and output
7. Working with Files and Directories
- 38 - Working with files in Java
- 39 - Creating a new file
- 40 - Working with directories in Java
- 41 - Copying files in Java
- 42 - Challenge - Files and directories
- 43 - Solution - Files and directories
Conclusion
- 44 - Next steps
Related courses
- Proxmox Virtual Environment Essential Training
- Learning Docker
- Mastering VMware vSAN 8
- OpenShift Essential Training: Container Orchestration and Deployment
- Migrating from VMware to Hyper-V
- Migrate VMware Virtual Machines to AWS: Agent-Based and Agentless Strategies
- Cisco CCNP Enterprise: ENCOR v1.1 (350-401) Cert Prep
- Cisco Network Security: VPN