К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Modern Java - Mastering Features from Java 8 to Java 25 · LearnSpace
Назад в каталог
courseraПрограммирование

Modern Java - Mastering Features from Java 8 to Java 25

Курс от Packt
Средний≈ 31.5 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. Master the modern features of Java from Java 8 to Java 25. This course will guide you through the evolution of Java, highlighting significant changes and innovations, from Lambdas and Streams to new syntax and pattern matching. You'll dive deep into hands-on labs and real-world use cases, gaining a solid understanding of modern Java features that are crucial for building efficient, maintainable applications. The course is structured to take you from the basics of Lambda expressions and functional interfaces to advanced topics like Streams API, method references, and modular programming with JPMS. By working through these topics step by step, you will also explore advanced stream processing techniques and the new HttpClient API, helping you tackle real-world programming challenges. The course is ideal for developers looking to enhance their Java skills and adopt modern techniques. Whether you’re developing new applications or refactoring legacy code, this course will make you proficient in using Java's latest features. Expect a combination of theory and practical labs to make the learning process smooth and engaging. By the end of the course, you will be able to implement Lambda expressions and functional interfaces, apply the Streams API for data processing, utilize pattern matching and sealed classes, and understand Java's modularity system for better project structure. You’ll also learn how to build real-time applications using modern Java features like HttpClient, and how to take advantage of GitHub Copilot to streamline your development process.

Навыки, которые вы освоите

GitHub Copilot

Программа курса

31 модулей · 204 учебных материалов

01Getting Started3 материалов

Getting Started

Course IntroductionВидеоFull Course ResourcesЧтениеPre-requisitesВидео
02Getting Started Modern Java3 материалов

Getting Started Modern Java

Учитесь у экспертов

Packt - Course Instructors

Преподаватель курса

Modern Java - Mastering Features from Java 8 to Java 25
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 31.5 ч

31 модулей

Язык: Английский

Субтитры: Казахский

Часть программы вашего университета
Introduction to Modern Java: Big PictureВидео
Understanding Modern Java: Features and Release ModelDIALOGUE
Getting Started Modern Java - AssessmentЗадание
03Local Set Up3 материалов

Local Set Up

Java InstallationВидеоInstalling and Managing Multiple Java Versions with SDKMANDIALOGUELocal Set Up - AssessmentЗадание
04Why Java 8?5 материалов

Why Java 8?

Why Java 8 is Important?ВидеоImperative vs Declarative Programming - Example 1ВидеоImperative vs Declarative Programming - Example 2ВидеоExploring Java 8 Functional ProgrammingDIALOGUEWhy Java 8? - AssessmentЗадание
05Introduction to Lambda5 материалов

Introduction to Lambda

What is Lambda?ВидеоLab: Implement Runnable using LambdaВидеоLab: Implement Comparator using LambdaВидеоImplementing Lambdas in JavaDIALOGUEIntroduction to Lambda - AssessmentЗадание
06Lambdas and Functional Interfaces15 материалов

Lambdas and Functional Interfaces

Introduction to Functional InterfacesВидеоLab: Consumer Functional Interface - Part 1ВидеоLab: Consumer Functional Interface - Part 2ВидеоLab: BiConsumer Functional InterfaceВидеоLab: Predicate - Functional Interface - Part 1ВидеоLab: Predicate - Functional Interface - Part 2ВидеоLab: Combining Predicate + ConsumerВидеоLab: BiPredicateВидеоLab: Function - Functional Interface - Part 1ВидеоLab: Function - Functional Interface - Part 2ВидеоLab: BiFunction Functional InterfaceВидеоLab: UnaryOperator and BinaryOperator Functional InterfaceВидеоLab: Supplier - Functional InterfaceВидеоMastering Java Functional InterfacesDIALOGUELambdas and Functional Interfaces - AssessmentЗадание
07Constructor and Method References7 материалов

Constructor and Method References

Method ReferenceВидеоLab: Method Reference - FunctionВидеоLab: Method Reference - ConsumerВидеоLab: Refactor Lambda Expression to Method ReferenceВидеоConstructor ReferenceВидеоMastering Method References in JavaDIALOGUEConstructor and Method References - AssessmentЗадание
08Lambdas and Local Variables (Effectively Final)4 материалов

Lambdas and Local Variables (Effectively Final)

Lab: Local Variables in Lambda ExpressionВидеоEffectively Final Variables in Lambda and its AdvantagesВидеоLocal Variables and Lambda ExpressionsDIALOGUELambdas and Local Variables (Effectively Final) - AssessmentЗадание
09Streams API6 материалов

Streams API

Introduction to StreamsВидеоHow Stream API Works?ВидеоComparing Streams vs CollectionsВидеоLab: How to Debug Stream Operations?ВидеоWorking with Java Stream APIDIALOGUEStreams API - AssessmentЗадание
10Stream API - Operations17 материалов

Stream API - Operations

Lab: Stream Operation - map()ВидеоLab: Stream Operation - flatMap()ВидеоLab: Stream Operation - distinct(), count(), sorted()ВидеоLab: Stream Operation - Customized Sort using ComparatorВидеоLab: Stream Operation - filter()ВидеоLab: Stream Operation - reduce() - Part 1ВидеоLab: Stream Operation - reduce() - Part 2ВидеоLab: Stream Operations - Map + Filter + Reduce PatternВидеоLab: Stream Operation: max using reduce() functionВидеоLab: Stream Operation - min() using reduce functionВидеоLab: Stream Operation - limit() and skip()ВидеоLab: Stream Operation - allMatch(), anyMatch() and noneMatch()ВидеоLab: Stream Operation - findAny() and findFirst()ВидеоStreams: Short Circuiting OperationsВидеоStreams API - Stateless vs Stateful FunctionsВидеоExploring Java Streams and the Map MethodDIALOGUEStream API - Operations - AssessmentЗадание
11Streams API - Factory Methods3 материалов

Streams API - Factory Methods

Lab: Streams Operation - of(), iterate(), generate()ВидеоWorking with Java Factory Methods for StreamsDIALOGUEStreams API - Factory Methods - AssessmentЗадание
12Streams API - Numeric Streams7 материалов

Streams API - Numeric Streams

Introduction to Numeric StreamsВидеоLab: NumericStream - range(), rangeClosed(), count(), forEach()ВидеоLab: NumericStream - sum(), max(), min(), average()ВидеоLab: NumericStream - Boxing, Unboxing, mapToInt()ВидеоLab: NumericStream - mapToObj(), mapToDouble(), mapToLong()ВидеоUnderstanding Numeric Streams in JavaDIALOGUEStreams API - Numeric Streams - AssessmentЗадание
13Streams API - Terminal Operations12 материалов

Streams API - Terminal Operations

Lab: joining()ВидеоLab: counting()ВидеоLab: mapping()ВидеоLab: minBy(), maxBy() using collect()ВидеоLab: sum(), avg() using collect()ВидеоLab: groupingBy() - Type 1ВидеоLab: groupingBy() - Type 2ВидеоLab: groupingBy() - Type 3ВидеоLab: groupingBy() - maxBy(), minBy(), collectingAndThen()ВидеоLab: partitioningBy()ВидеоMastering Stream Collectors in JavaDIALOGUEStreams API - Terminal Operations - AssessmentЗадание
14Streams API - Parallel Processing8 материалов

Streams API - Parallel Processing

Introduction to Parallel StreamsВидеоLab: Comparing Performance of Sequential vs Parallel StreamsВидеоHow Parallel Stream Works?ВидеоLab: Build a Parallel Stream PipelineВидеоLab: When Not to Use Parallel Stream - Example 1ВидеоLab: When Not to Use Parallel Stream - Part 2ВидеоUnderstanding Parallel Streams in JavaDIALOGUEStreams API - Parallel Processing - AssessmentЗадание
15Optional8 материалов

Optional

Introduction to OptionalВидеоLab: Optional - empty(), ofNullable(), of()ВидеоLab: orElse(), orElseGet(), orElseThrow()ВидеоLab: ifPresent(), isPresent()ВидеоLab: map(), flatMap(), filter() - Part 1ВидеоLab: map(), flatMap(), filter() - Part 2ВидеоUnderstanding Java's Optional ClassDIALOGUEOptional - AssessmentЗадание
16Default/Static Methods in Interfaces10 материалов

Default/Static Methods in Interfaces

Introduction to Default/Static MethodsВидеоLab: Default MethodsВидеоLab: Exploring sort() Operations using Comparator - Part 1ВидеоLab: Exploring sort() Operations using Comparator - Part 2ВидеоLab: Creating an Interface with Default/Static MethodsВидеоAbstract Classes vs InterfacesВидеоLab: Multiple InheritanceВидеоLab: Multiple Inheritance - Resolving ConflictsВидеоExploring Default and Static Methods in Java InterfacesDIALOGUEDefault/Static Methods in Interfaces - AssessmentЗадание
17New Date/Time APIs18 материалов

New Date/Time APIs

Introduction to the New Date/Time LibrariesВидеоLab: LocalDate - Create, Get the LocalDate ValuesВидеоLab: LocalDate - Modify the LocalDateВидеоLab: LocalDate - Additional LocalDate FunctionsВидеоLab: LocalTimeВидеоLab: LocalDateTime - Create/Modify LocalDateTimeВидеоLab: Converting from LocalDate/LocalTime to LocalDateTimeВидеоLab: Comparing Dates – PeriodВидеоLab: Comparing Times – DurationВидеоLab: InstantВидеоLab: TimeZones – ZonedDateTime, ZoneId, ZoneOffsetВидеоLab: TimeZones – Converting Instant, LocalDateTime to ZonedDateTimeВидеоLab: Converting java.util.Date/java.sql.Date to LocalDateВидеоLab: Format/Parse LocalDate using DateTimeFormatterВидеоLab: Format/Parse LocalTime using DateTimeFormatterВидеоLab: Format/Parse LocalDateTime using DateTimeFormatterВидеоUnderstanding Java's Date and Time APIDIALOGUENew Date/Time APIs - AssessmentЗадание
18Base Project Setup for Exploring Java 9 and Beyond Features4 материалов

Base Project Setup for Exploring Java 9 and Beyond Features

Project Set-UpВидеоSet Up Copilot AssistantВидеоSetting Up a Java Project with GradleDIALOGUEBase Project Setup for Exploring Java 9 and Beyond Features - AssessmentЗадание
19Compact Main Function2 материалов
Simplifying the Main Method Using Compact MainВидеоCompact Main Using GitHub CopilotВидео
20Local Variable Type Inference (LVTI) Using var4 материалов

Local Variable Type Inference (LVTI) Using var

What is Local Variable Type Inference?ВидеоLimitation of Using "var"ВидеоExploring Java's Local Variable Type Inference (LVT) with 'var'DIALOGUELocal Variable Type Inference (LVTI) Using var - AssessmentЗадание
21Text Blocks3 материалов

Text Blocks

TextBlocks – Enhanced the Power of StringВидеоWorking with Java Text BlocksDIALOGUEText Blocks - AssessmentЗадание
22Enhanced Switch5 материалов

Enhanced Switch

Switch – as an ExpressionВидеоMultiline Switch Expression Using "yield"ВидеоEnhanced Switch are ExhaustiveВидеоExploring Java Enhanced SwitchDIALOGUEEnhanced Switch - AssessmentЗадание
23Records5 материалов

Records

Record ClassesВидеоCustom Constructors and Validations in Record ClassesВидеоObject Equality in Record ClassesВидеоUnderstanding Java Record ClassesDIALOGUERecords - AssessmentЗадание
24Sealed Classes/Interfaces6 материалов

Sealed Classes/Interfaces

Introduction to Sealed Classes/TypesВидеоSubclasses of Sealed ClassesВидеоUsing Sealed on "abstract" ClassesВидеоUsing Sealed on "interfaces"ВидеоMastering Sealed Classes and Interfaces in JavaDIALOGUESealed Classes/Interfaces - AssessmentЗадание
25Pattern Matching5 материалов

Pattern Matching

Introduction to Pattern MatchingВидеоRecord Patterns – Pattern Matching on RecordsВидеоGuarded PatternsВидеоApplying Pattern Matching in JavaDIALOGUEPattern Matching - AssessmentЗадание
26Unnamed Variables4 материалов
Unnamed Variables in Java: Clean Ignoring with _ [AI Coding]ВидеоUsing Unnamed Variables Along with Pattern Matching [Write Tests Using AI]ВидеоUsing Unnamed Variables (Underscore) in Java 21+DIALOGUEUnnamed Variables - AssessmentЗадание
27CheckoutService Application [Real-Time Use Case]4 материалов

CheckoutService Application [Real-Time Use Case]

Overview of the ApplicationВидеоPaymentService Implementation Using Sealed ClassesВидеоBuilding an Online Checkout Application with JavaDIALOGUECheckoutService Application [Real-Time Use Case] - AssessmentЗадание
28Mastering Stream Gatherers in Java — A New Era of Stream Processing11 материалов
Introduction to Stream GatherersВидеоGatherers.windowFixed() [AI Coding]ВидеоGatherers.windowSliding()Видео Gatherers.fold()ВидеоGatherers.scan()ВидеоGatherers.mapConcurrent()ВидеоCombining Gatherers [AI Coding]Видео Building Custom Gatherers: Filter and Transform Using Gatherer.ofВидео Building Custom Gatherers: Domain-Specific Logic Using Gatherer.ofSequentialВидеоExploring Java Stream Gatherers: Windows, Fold, Scan, MapConcurrent & Custom GatherersDIALOGUEMastering Stream Gatherers in Java — A New Era of Stream Processing - AssessmentЗадание
29Simple Web Server3 материалов

Simple Web Server

Simple Web Server in ActionВидеоExploring Java's Simple Web ServerDIALOGUESimple Web Server - AssessmentЗадание
30New Http Client6 материалов

New Http Client

New HttpClient – GET Request to Retrieve Movie by IDВидеоJUnit Test for the HTTP ClientВидеоBuild HTTPClient in Asynchronous ModeВидеоBuild HTTP Client – GET Request to Retrieve All MoviesВидеоBuilding and Testing HTTP Clients in JavaDIALOGUENew Http Client - AssessmentЗадание
31Java Platform Module System (JPMS)8 материалов

Java Platform Module System (JPMS)

Introduction to JPMSВидеоBuild a Java App Using JPMSВидеоWorking with Multiple ModulesВидеоWorking with Multiple Modules – TransitivelyВидеоUnnamed Modules and Automatic ModulesВидеоJava Platform Module System (JPMS) - AssessmentЗаданиеFull Course Practice AssessmentЗаданиеFull Course AssessmentЗадание