Java 8 New Features Training in London, Canada
| 
                	 We offer private customized training for groups of 3 or more attendees.
                 | ||
| Course Description | ||
| 
	Java 8 introduces a number of revolutionary capabilities - many of them centered on lambda expressions and functional-style programming. These capabilities add powerful new programming techniques to the language, but also add complexity. 
	This concise course is focused on introducing the new capabilities and how to use them. It includes numerous code examples and programming labs that illustrate all of the new capabilities. 
	The course is hands on, and requires that students be comfortable with writing general Java code at an intermediate level, including the use of interfaces. 
	Course Objectives: 
	- Be familiar with the additions to Java interfaces 
	- Understand and use functional interfaces 
	- Understand lambda expressions and method references, and use them to pass behavior (methods) 
	- Learn about the pre-defined functional interfaces, and use them with lambda expressions 
	- Understand and use the Stream API 
	- Process collections using streams, including chaining operations and using collectors 
	- Understand and use parallel streams 
	- Understand and deal with the issues of parallel processing 
	- Learn and use the new Data/Time API 
	- Be familiar with other new capabilities 
                        Course Length: 2 Days Course Tuition: $2250 (US) | ||
| Prerequisites | |
| No programming experience necessary | |
| Course Outline | 
| 
	1: What's new in Interfaces 
	Static Methods 
	Default Methods 
	Functional Interfaces 
	2: Introducing Lambda Expressions 
	Motivation for Lambdas 
	Lambda Expression Overview 
	Lambda Expressions and Functional Interfaces 
	Using Lambda Expressions 
	Working with Method References 
	3: The Stream API 
	Overview 
	Shortcomings of Collections 
	What are Streams? 
	Chaining - Intermediate and Terminal Operations 
	- Understanding the Stream API 
	Overview - java.util.stream types (Stream, Collector, ...) 
	Keys to Understanding the API 
	Important Functional Interfaces: Predicate, Comparator, Function 
	- Stream Processing 
	Using filter() 
	Sorting / Comparator.comparing() 
	Using map() 
	Other operations: peek(), distinct(), limit(), skip() 
	Result producing terminal operations - collect, min/max ... 
	void Terminal Operations - forEach() 
	Existence (e.g. anyMatch) and Finder (e.g. findAny) Operations 
	- Collectors 
	Roles and Capabilities 
	Collectors.toList(), Collectors.toSet() 
	Supplier and Collectors.toCollection() 
	Partitioning and Grouping Collectors 
	4: Parallel Processing and Concurrency 
	li>Overview 
	Java 8 Parallel Processing using Streams 
	Ground Rules / Requirements for Using Parallel Stream Processing 
	Multithreading / Concurrency Issues 
	Race Conditions, Data Synchronization, Locks 
	Performance Issues and Considerations 
	5: Date/Time API 
	Overview and Limitations of Previous API 
	The Date/Time API (JSR 310) 
	Creating and Working with LocalData/LocalTime/LocalDateTime Instances 
	Formatting Date/Time 
	Localization / Time Zones 
	Periods and Durations 
	Performing Calculations on Data/Time types 
	6: Other Capabilities 
	Compact Profiles 
	Using Optional Instead of null 
	Repeatable and Type Annotations 
	Nashorn JavaScript Engine 
	Minor New Features | 
Course Directory [training on all levels]
- .NET Classes
- Agile/Scrum Classes
- AI Classes
- Ajax Classes
- Android and iPhone Programming Classes
- Azure Classes
- Blaze Advisor Classes
- C Programming Classes
- C# Programming Classes
- C++ Programming Classes
- Cisco Classes
- Cloud Classes
- CompTIA Classes
- Crystal Reports Classes
- Data Classes
- Design Patterns Classes
- DevOps Classes
- Foundations of Web Design & Web Authoring Classes
- Git, Jira, Wicket, Gradle, Tableau Classes
- IBM Classes
- Java Programming Classes
- JBoss Administration Classes
- JUnit, TDD, CPTC, Web Penetration Classes
- Linux Unix Classes
- Machine Learning Classes
- Microsoft Classes
- Microsoft Development Classes
- Microsoft SQL Server Classes
- Microsoft Team Foundation Server Classes
- Microsoft Windows Server Classes
- Oracle, MySQL, Cassandra, Hadoop Database Classes
- Perl Programming Classes
- Python Programming Classes
- Ruby Programming Classes
- SAS Classes
- Security Classes
- SharePoint Classes
- SOA Classes
- Tcl, Awk, Bash, Shell Classes
- UML Classes
- VMWare Classes
- Web Development Classes
- Web Services Classes
- Weblogic Administration Classes
- XML Classes
- ASP.NET Core MVC (VS2022) 
 24 November, 2025 - 25 November, 2025
- RHCSA EXAM PREP 
 17 November, 2025 - 21 November, 2025
- Introduction to Spring 6, Spring Boot 3, and Spring REST 
 15 December, 2025 - 19 December, 2025
- RED HAT ENTERPRISE LINUX SYSTEMS ADMIN II 
 8 December, 2025 - 11 December, 2025
- Python for Scientists 
 8 December, 2025 - 12 December, 2025
- See our complete public course listing 
Java Programming Uses & Stats
| Difficulty | Popularity | Year Created1995 | 
| Pros 
	Most Commonly Used:  
	Great Career Choice:  
	Android Apps Development: 
	It Can Run On Any Platform: 
	Great Supporting IDE's: | Cons 
	Uses a Lot of Memory: 
	Difficulty in Learning:  
	Slow Start Up Times: 
	Verbose and Complex Code: 
	Commercial License Cost: | 
| Java Programming Job Market | 
|   Average Salary |   Job Count |   Top Job Locations 
	New York City  | 
| Complimentary Skills to have along with Java Programming - If you are an experienced Java developer, learning a complimentary language to Java should come much more naturally. As an example JetBrains recently created the Kotlin programming language which is officially supported by Google for mobile development. Kotlin compiles to Java bytecode and runs on the JVM; it's purported to address many of Java's shortcomings... | 






