Companies Home Search Profile

Java 21, Java 17, Java 11 and Advanced Java 8

Focused View

Dr. Seán Kennedy OCP

13:58:43

108 View
  • 001 Lambdas.pdf
  • 001 Lambdas - Introduction.mp4
    06:42
  • 002 Lambdas - using a custom Functional Interface (in code).mp4
    03:08
  • 002 testpredicate.zip
  • 003 Lambdas - using Predicate (in code).mp4
    05:35
  • 003 testpredicate.zip
  • 004 API Functional Interfaces - Predicate and BiPredicate.mp4
    03:14
  • 004 fi-from-api.zip
  • 005 API Functional Interfaces - Supplier.mp4
    02:08
  • 005 fi-from-api.zip
  • 006 API Functional Interfaces - Consumer and BiConsumer.mp4
    05:00
  • 006 fi-from-api.zip
  • 007 API Functional Interfaces - Function and BiFunction.mp4
    02:47
  • 007 fi-from-api.zip
  • 008 API Functional Interfaces - UnaryOperator and BinaryOperator.mp4
    03:03
  • 008 fi-from-api.zip
  • 009 Lambdas - final and effectively final.mp4
    04:15
  • 009 lambdaeffectivelyfinal.zip
  • 010 Method References.mp4
    02:42
  • 010 Method-References-819.pdf
  • 011 Bound Method References.mp4
    04:59
  • 011 methodreferencetypes.zip
  • 012 Unbound Method References.mp4
    05:01
  • 012 methodreferencetypes.zip
  • 013 Static Method References.mp4
    02:55
  • 013 methodreferencetypes.zip
  • 014 Constructor Method References.mp4
    03:02
  • 014 methodreferencetypes.zip
  • 015 Lambdas-and-Method-References-Exercises-v2.pdf
  • 015 The Importance of Context for Method References.mp4
    05:51
  • 015 methodrefsandcontext.zip
  • 001 0.Introduction-Stream-Pipelines-and-Laziness.pdf
  • 001 Introduction and Stream Pipelines.mp4
    04:35
  • 002 Stream Laziness.mp4
    06:13
  • 002 laziness.zip
  • 002 pipelineprocessingorder.zip
  • 003 1.Creating-Streams.pdf
  • 003 Creating Streams.mp4
    07:20
  • 003 buildstreams.zip
  • 003 creatingstreams.zip
  • 003 infinitestreams.zip
  • 003 processfile.zip
  • 004 2.Terminal-Operations.pdf
  • 004 Terminal Operations.mp4
    06:37
  • 004 terminaloperations.zip
  • 005 Terminal Operations - reduce().mp4
    08:07
  • 005 terminaloperations.zip
  • 006 Terminal Operations - collect().mp4
    02:21
  • 006 terminaloperations.zip
  • 007 2b.Terminal-Operations-using-API-Collectors.pdf
  • 007 Terminal Operations - collect() - Collectors.toMap().mp4
    06:38
  • 007 collectorsexamples.zip
  • 008 Terminal Operations - collect() - Collectors.groupingBy().mp4
    03:15
  • 008 collectorsexamples.zip
  • 009 Terminal Operations - collect() - Collectors.partitioningBy().mp4
    02:35
  • 009 collectorsexamples.zip
  • 010 3.Intermediate-Operations.pdf
  • 010 Intermediate Operations - filter(), distinct(), limit().mp4
    06:08
  • 010 intermediateoperations.zip
  • 011 Intermediate Operations - map(), flatMap(), sorted().mp4
    05:54
  • 011 intermediateoperations.zip
  • 012 5.Primitive-Streams.pdf
  • 012 Primitive Streams - Creating.mp4
    04:03
  • 012 creatingstreams.zip
  • 012 primitivestreams.zip
  • 013 Primitive Streams - API.mp4
    04:23
  • 013 primitivestreams.zip
  • 014 Primitive Streams - Functional Interfaces.mp4
    03:23
  • 015 Primitive Streams - Mapping Streams.mp4
    06:41
  • 016 Code - mappingObjectStreams().mp4
    03:07
  • 016 primitivestreams.zip
  • 017 Code - mappingPrimitiveStreams().mp4
    03:24
  • 017 primitivestreams.zip
  • 018 6.Optionals.pdf
  • 018 Optionals.mp4
    05:45
  • 018 optionals.zip
  • 019 7.Parallel-Streams.pdf
  • 019 Parallel Streams.mp4
    04:20
  • 019 parallelstreams.zip
  • 001 Collections - Introduction.mp4
    05:34
  • 001 Collections-Introduction.pdf
  • 002 Common Collection Methods in Code.mp4
    02:39
  • 002 commoncollectionmethods.zip
  • 003 List.mp4
    02:46
  • 004 Lists in Code.mp4
    06:36
  • 004 usinglists.zip
  • 005 Set.mp4
    01:42
  • 006 Sets in Code.mp4
    06:02
  • 006 usingsets.zip
  • 007 Maps.mp4
    03:58
  • 008 Maps in Code.mp4
    06:35
  • 008 usingmaps.zip
  • 009 Queue and Deque.mp4
    04:23
  • 010 Queue and Deque in Code.mp4
    06:24
  • 010 usingqueues.zip
  • 011 PriorityQueue.mp4
    05:08
  • 012 Sorting.pdf
  • 012 Sorting - Comparable and Comparator.mp4
    07:45
  • 013 Code Comparable - Product.mp4
    02:38
  • 013 product.zip
  • 013 sortingproducts.zip
  • 014 Code Comparable and Comparator - Sorting Arrays and Lists - Dog.mp4
    05:11
  • 014 dog.zip
  • 014 sortingdogs.zip
  • 015 Code Sorting by Multiple Fields.mp4
    01:46
  • 015 cat.zip
  • 015 sortingcatsmultiplefields.zip
  • 016 Code TreeSet Comparable issue - how to resolve with Comparator.mp4
    04:11
  • 016 comparatorisuseful.zip
  • 017 Code Binary Search.mp4
    06:09
  • 017 binarysearch.zip
  • 017 cat.zip
  • 018 Generics.pdf
  • 018 Generics - Introduction.mp4
    04:56
  • 018 pregenerics.zip
  • 019 Generics - polymorphism, extends, super.mp4
    05:58
  • 019 polymorphicissuewithgenerics.zip
  • 019 unboundedwildcard.zip
  • 020 Generics - super and extends (in detail).mp4
    15:34
  • 020 superandextends.zip
  • 021 Generic Classes and Interfaces.mp4
    05:58
  • 021 animalregister.zip
  • 021 genericinterface.zip
  • 021 testgenericclass.zip
  • 022 Generic Methods.mp4
    03:49
  • 022 genericmethods.zip
  • 023 equals().mp4
    05:34
  • 023 equals-and-hashCode.pdf
  • 024 equals-and-hashCode.pdf
  • 024 hashCode().mp4
    06:06
  • 025 Hashing in code.mp4
    06:22
  • 025 contacttest.zip
  • 026 Watch out for mutable fields in hashing.mp4
    02:36
  • 026 mutablefieldstest.zip
  • 001 Concurrency-Concurrent-Collections.pdf
  • 001 Concurrency-ExecutorService.pdf
  • 001 Concurrency-Introduction.pdf
  • 001 Concurrency-Threading-problems.pdf
  • 001 Concurrency-Thread-Safety.pdf
  • 001 Introduction.mp4
    03:30
  • 002 Creating Threads.mp4
    04:26
  • 003 sleep() and join().mp4
    04:19
  • 004 ExecutorService (Introduction).mp4
    05:48
  • 005 ExecutorService (code).mp4
    02:21
  • 005 callabletest.zip
  • 005 runnabletest.zip
  • 006 Submitting Task Collections (code).mp4
    04:02
  • 006 submittingtaskcollections.zip
  • 007 Scheduling Tasks.mp4
    05:52
  • 007 scheduledexecutors.zip
  • 008 Thread Safety - Introduction.mp4
    00:35
  • 009 Data Race Demo.mp4
    01:53
  • 009 datarace.zip
  • 010 Atomic Classes.mp4
    02:12
  • 011 AtomicInteger example (code).mp4
    01:33
  • 011 atomicintegerexample.zip
  • 012 synchronized keyword.mp4
    03:23
  • 013 fixracewithsynchronized.zip
  • 013 synchronized example (code).mp4
    05:44
  • 014 Lock interface.mp4
    03:06
  • 015 Lock example (code).mp4
    02:02
  • 015 fixracewithlock.zip
  • 016 Concurrent Collections - Introduction.mp4
    01:51
  • 016 theproblem.zip
  • 017 Concurrent Collections - API.mp4
    00:52
  • 018 Concurrent Collections - SkipList Collections.mp4
    01:51
  • 018 skiplistcollections.zip
  • 019 Concurrent Collections - CopyOnWriteCollections.mp4
    05:12
  • 019 copyonwritecollections.zip
  • 020 Concurrent Collections - BlockingQueue.mp4
    02:26
  • 020 blockingqueueexample.zip
  • 021 Concurrent Collections - synchronized collections.mp4
    02:03
  • 021 synchronizedcollection.zip
  • 022 Concurrency - Threading problems - Race Condition.mp4
    05:02
  • 022 racecondition.zip
  • 023 Concurrency - Threading problems - Deadlock.mp4
    03:20
  • 023 deadlock.zip
  • 024 Concurrency - Threading problems - Livelock and Starvation.mp4
    01:41
  • 001 Introduction and Creating locales.mp4
    04:13
  • 001 Localisation.pdf
  • 001 creatinglocales.zip
  • 001 defaultlocale.zip
  • 002 Localising Numbers and Currencies (Introduction).mp4
    01:06
  • 003 Localising Numbers and Currencies.mp4
    05:51
  • 003 localisingnumbers.zip
  • 004 Localising numbers using custom formats.mp4
    01:54
  • 004 localisingnumbers.zip
  • 005 Localising Dates.mp4
    03:58
  • 005 localisingdates.zip
  • 006 Locale.Category enums.mp4
    03:02
  • 006 settinglocalecategories.zip
  • 007 Resource Bundles, Property Files and Searching.mp4
    04:48
  • 008 Resource Bundle Searching - Example.mp4
    06:24
  • 008 bundlesearching.zip
  • 008 mill.zip
  • 008 mill-en.zip
  • 008 mill-en-ca.zip
  • 008 mill-en-ie.zip
  • 001 JDBC.pdf
  • 001 JDBC Introduction.mp4
    02:59
  • 002 Banking Example Setup.mp4
    03:15
  • 002 bank-table-SQL.txt
  • 003 Connecting to a Database.mp4
    03:37
  • 004 PreparedStatement.mp4
    03:38
  • 005 BankService - SELECT one.mp4
    06:20
  • 005 bankaccount.zip
  • 005 bankservice.zip
  • 006 BankService - SELECT all.mp4
    02:22
  • 007 Bank Service DELETE oneall.mp4
    02:51
  • 008 BankService - INSERT.mp4
    02:32
  • 009 BankService - UPDATE.mp4
    02:32
  • 010 CallableStatement.mp4
    07:33
  • 011 Resource Leaks.mp4
    01:11
  • 011 closingresources.zip
  • 001 IO.mp4
    18:09
  • 001 IO-and-NIO-2.pdf
  • 001 consoletest.zip
  • 001 readingwritingexamples.zip
  • 001 readingwritingexamples2.zip
  • 002 IO-and-NIO-2.pdf
  • 002 NIO.2.mp4
    01:02:27
  • 002 attributes.zip
  • 002 attributesview.zip
  • 002 customserialisation.zip
  • 002 filecopydeletemove.zip
  • 002 normalizeexamples.zip
  • 002 pathgeneral.zip
  • 002 pathoperations.zip
  • 002 relativizeexamples.zip
  • 002 resolveexamples.zip
  • 002 searchdirectory.zip
  • 002 serialisation.zip
  • 001 4.LVTI.pdf
  • 001 Local Variable Type Inference (LVTI).mp4
    08:08
  • 001 localvariabletypeinference.zip
  • 001 Private Interface Methods.mp4
    06:38
  • 001 private-interface-methods.pdf
  • 001 sporttest.zip
  • 001 Annotations.mp4
    42:29
  • 001 Annotations.pdf
  • 001 commonbuiltinannotations.zip
  • 001 commonbuiltinannotationsextra.zip
  • 001 customannotations.zip
  • 001 inheritedexample.zip
  • 001 repeatableexample.zip
  • 001 retentionexample.zip
  • 001 shorthand.zip
  • 001 targetexample.zip
  • 001 Security.mp4
    24:47
  • 001 Security.pdf
  • 001 commandinjectionattack.zip
  • 001 Introduction.mp4
    05:57
  • 001 Modules.pdf
  • 002 Command-Prompt-commands.txt
  • 002 Compiler and Runtime flags.mp4
    04:21
  • 003 Hello World Example.mp4
    04:39
  • 003 TestModuleFarm.zip
  • 003 TestModuleFarm2.zip
  • 004 Dependencies.mp4
    09:44
  • 004 TestModuleFarm3.zip
  • 005 TestModuleFarm3.zip
  • 005 opens and requires transitive.mp4
    09:10
  • 006 Command-Prompt-commands.txt
  • 006 Operations on a Module.mp4
    09:39
  • 007 OwnerService.zip
  • 007 Services.mp4
    09:10
  • 008 Services - SoftDrink Example.mp4
    13:22
  • 008 SoftDrinkService.zip
  • 009 TypesOfModules.zip
  • 009 Types of Modules.mp4
    09:39
  • 010 Migration Strategies.mp4
    08:55
  • 001 Java 17 Introduction.mp4
    00:35
  • 001 Java-17.pdf
  • 001 Java-17.pdf
  • 001 Sealed classes.mp4
    06:15
  • 001 Java-17.pdf
  • 001 Records.mp4
    18:35
  • 001 Java-17.pdf
  • 001 switch expressions and pattern matching.mp4
    13:44
  • 001 Java-17.pdf
  • 001 Text blocks.mp4
    13:37
  • 001 Java 21 Introduction.mp4
    03:21
  • 001 Java-21-Introduction.pdf
  • 002 IDE and javac.mp4
    04:13
  • 002 javac-and-java-cmds.txt
  • 001 Java-21-Unnamed-Classes-and-Instance-Main-Methods.pdf
  • 001 Unnamed Classes and Instance Main Methods.mp4
    05:52
  • 002 Unnamed Classes and Instance Main Methods (Code).mp4
    06:10
  • 002 helloworld.zip
  • 002 other.zip
  • 001 Java-21-Record-Patterns.pdf
  • 001 Record Patterns.mp4
    05:57
  • 002 Record Patterns (in code).mp4
    09:56
  • 002 dog.zip
  • 002 person.zip
  • 002 testrecordpatterns.zip
  • 002 testrecords.zip
  • 001 Java-21-Pattern-Matching-for-switch.pdf
  • 001 Pattern Matching for Switch.mp4
    10:57
  • 002 Pattern Matching for Switch (code).mp4
    12:12
  • 002 patternmatching.zip
  • 002 patternmatchingforswitch.zip
  • 002 qualifiedenumconstants.zip
  • 002 selectorexpressiontypebroadened.zip
  • 001 Java-21-Sequenced-Collections.pdf
  • 001 Sequenced Collections.mp4
    04:43
  • 002 Java 21 - Sequenced Collections (Code).mp4
    08:09
  • 002 sequencedcollections.zip
  • 001 Immutable Classes and Call By Value.mp4
    08:09
  • 002 Advanced Encapsulation (defensive copying).mp4
    10:20
  • 003 From UML to code (1 of 3) - Interpreting the UML (taken from my Java 8 course).mp4
    04:23
  • 004 From UML to code (2 of 3) - the Instructions (taken from my Java 8 course).mp4
    01:13
  • 005 From UML to code (3 of 3) - Solution (taken from my Java 8 course).mp4
    06:27
  • Description


    Master the advanced/latest topics AND get Oracle OCP Certification (1Z0-829,1Z0-819,1Z0-809)

    What You'll Learn?


    • Understand and apply functional programming techniques in Java i.e. lambda expressions (including method references) and Streams.
    • Obtain the knowledge of many advanced Java concepts such as Concurrency, Generics/Collections, Localization, JDBC and IO/NIO.2.
    • Master the new Java 9, 10 and 11 topics - local variable type inference, private interface methods, Annotations, Security and Modules.
    • Master the new Java 12, 13, 14, 15, 16 and 17 topics - sealed classes, records, switch expressions (including pattern matching) and text blocks.
    • Acquire the skills to pass the Oracle Java 8, 11 and 17 OCP exams (1Z0-809, 1Z0-819 and 1Z0-829).

    Who is this for?


  • Students/software professionals who want to take their Java beyond the fundamentals and understand advanced Java topics.
  • Students/software professionals wanting to master the new features in both Java 11 and Java 17.
  • Anyone preparing for the Java OCP Certification exams at either Java 8, 11 or 17 level.
  • What You Need to Know?


  • Ideally, have completed my "Complete Java 8 OCA (1Z0-808) Java Certification Course" here on Udemy as this course starts with lambda expressions.
  • Access to an IDE such as Netbeans, Eclipse or IntelliJ.
  • If preparing for any of the Java OCP certifications, ideally, you would use Enthuware in parallel (for excellent MCQ training).
  • More details


    Description

    [UPDATE September 2023] - Java 21 added! Java 21 has now been officially released. Among its topics include the eagerly anticipated "Unnamed classes and instance main methods". In addition, other topics include sequenced collections; record patterns and pattern matching for switch.


    [UPDATE April 2023] - MAJOR NEWS - this course has been selected by Udemy for inclusion in their Udemy Business program.

    • "Udemy Business is a curated (carefully chosen) selection of high-quality Udemy courses — like yours" [Udemy email]. 

    • "Only 3% of all courses are chosen for Udemy Business." [Udemy email].

    Java has now 4 LTS (Long Term Support) releases: 8, 11, 17 and 21. This course covers them all : it addresses advanced Java 8 programming in addition to Java 11, 17 and 21.

    This course is a successor to my "Complete Java 8 OCA (1Z0-808) Java Certification Course", which covers Java fundamentals in great detail. As a result, this course starts with lambdas i.e. fundamentals such as classes, interfaces, operators and methods are not in this course. It is important to realise that while familiarity with Java is helpful, certification is certainly not a pre-requisite.

    This course starts with the advanced topics of Java 8 - lambdas, streams, collections, generics, concurrency etc.. There are assignments for lambdas, streams and collections.

    Java 11 is then covered - LVTI, private interface methods, annotations, security and modules. Modules are examined in detail (with examples).

    Java 17 is covered next - sealed classes, records, switch expressions, pattern matching and text blocks. A significant assignment covering all topics is included.

    Lastly, Java 21 is covered - unnamed classes and instance main methods, record patterns, pattern matching for switch and sequenced collections. An assignment covering all topics that builds on the Java 17 assignment, is included.

    All the code used throughout the course is available.

    Topics are presented with both general understanding and certification in mind i.e. the course caters for both. Regarding certification, Java 8 OCP (1Z0-809), Java 11 OCP (1Z0-819) and Java 17 OCP (1Z0-829) are targeted. This course would be a great training support in conjunction with the excellent MCQ Certification tool from Enthuware (as there are no MCQ's on this course).

    The theory of the topic is explained with lots of code examples used to reinforce the topic. The videos are annotated in detail to help the learner follow my explanations. Having access to the code is a great learning aid as you can get the code running and see what happens when you change it. In addition, the assignments/exercises are a great aid for learning.


    Topics include:

    Java 8 Advanced:

    • Lambda Expressions

    • Streams

    • Generics

    • Collections

    • Concurrency

    • JDBC

    • File IO

    • NIO.2

    • Serialisation

    • Localisation

    Java 11:

    • private interface methods

    • LVTI (local variable type inference)

    • Annotations

    • Security

    • Modules

    Java 17:

    • Sealed classes

    • Records

    • switch expressions and pattern matching

    • Text blocks

    Java 21:

    • Unnamed classes and instance main methods

    • Record patterns

    • Pattern matching for switch

    • Sequenced collections

    By way of background, I am a PhD-qualified University lecturer since 2002. For over a decade, I have taught Java on a bespoke Masters on behalf of a highly regarded software company.

    I have recently co-authored a book called "Java Memory Management: a comprehensive guide to garbage collection and JVM tuning" with Maaike van Putten.

    I love teaching and this course has all my experience in explaining advanced concepts of Java. In addition, I have a strong attention to detail which lends itself perfectly to the Oracle Java Certification exams. I am delighted that Enthuware, in their explanations, have linked to my YouTube channel.

    Who this course is for:

    • Students/software professionals who want to take their Java beyond the fundamentals and understand advanced Java topics.
    • Students/software professionals wanting to master the new features in both Java 11 and Java 17.
    • Anyone preparing for the Java OCP Certification exams at either Java 8, 11 or 17 level.

    User Reviews
    Rating
    0
    0
    0
    0
    0
    average 0
    Total votes0
    Focused display
    Category
    Dr. Seán Kennedy OCP
    Dr. Seán Kennedy OCP
    Instructor's Courses
    Hi, Seán here from Let's Get Certified. I worked in industry for 13 years in FinTech and Telecoms. I have been a lecturer since 2002 and have a PhD in IT.  I am Java certified to OCP level. I have taught the OCA/OCP syllabii since 2013 on a Level 9 Masters course for a highly regarded software company. The popular Java certification tool Enthuware link to my YouTube channel in their explanations. I have recently co-authored (with Maaike van Putten) a book titled "Java Memory Management: A comprehensive guide to garbage collection and JVM tuning".
    Students take courses primarily to improve job-related skills.Some courses generate credit toward technical certification. Udemy has made a special effort to attract corporate trainers seeking to create coursework for employees of their company.
    • language english
    • Training sessions 139
    • duration 13:58:43
    • English subtitles has
    • Release Date 2023/11/15