BEST

Kim Young-han's Practical Java - Advanced, Part 1: Multithreading and Concurrency

This course provides an in-depth study of multithreading and concurrency, from basic principles to practical applications.

(5.0) 345 reviews

7,414 students

Java
oop
thread
multithread
concurrent

What you will learn!

  • Multithreaded

  • concurrency

  • Thread Pools and the Executor Framework

  • Processes and threads, scheduling, context switching

Ranked 1st in cumulative number of students enrolled in domestic development field
Kim Young-han's Practical Java Made Right

Just knowing Java grammar? That won't do!

Former Technology Director of Woowa Brothers, Cumulative Students Surpass 400,000
Why Kim Young-han created Java lectures

•••

“I wanted to create a proper Java course that would create proper developers needed for real work.”

Java Multithreading and Concurrency with Practice in mind

So far, we have learned the basics of Java programming and object-oriented concepts through "Java Introduction" , "Java Basics" , and "Java Intermediate 1 , 2 ", and learned various intermediate functions on top of that.

In this "Advanced Java 1" lesson, we will delve deeply into Java multithreading technology and concurrency issues.

  • Java Multithread Programming

  • Concurrency

  • Process and Thread, Scheduling

  • Context Switching

Kim Young-han's Practical Java Roadmap

This lecture is the fifth lecture of Kim Young-han's Practical Java Roadmap , and is intended for those who have learned Java's basic grammar and intermediate concepts and functions such as OOP (classes, generics, collections, data structures).

>> Introducing the Java Roadmap Guide to help you learn effectively and appropriately for your purpose .

The lecture "Kim Young-han's Practical Java - Advanced Part 1" is

The importance of essential understanding

Rather than simply learning Java's syntax and features, we delve deeply into why those features are necessary and how they can be applied in practice.

A practical approach

Rather than simply conveying theories, it provides step-by-step understanding of the necessity of Java technology through illustrations and example codes that help understanding. In addition, through various examples, you can understand how each technology is utilized in practice.

Our goal is more than just grammar.

In this advanced Java 1 lecture, we aim to completely master multi-threading and concurrency from CS basics to practical application techniques.

In addition, the advanced part 1 is the most extensive of the "Kim Young-han's Practical Java" series that has been released so far. It may be difficult to grasp the concepts at first, but if you are well equipped with the paradigm of multi-threading and concurrency through the lecture, it will become a basic skill that you can use for future programming (regardless of the language you use).

I will teach you so that you can go beyond simply knowing threads and gain a deep understanding of the Java multithreading technology and concurrency issues that are necessary for practical use, and so that you can properly utilize them in your work.

In “Advanced Java 2-3” that you will learn later,

In Advanced Java 2 and 3 (scheduled), which follow Advanced Java 1, you will learn how to use I/O, networks, and annotations. In addition, you will learn modern Java centered on lambdas, streams, and the latest features, and you will develop the skills that are essential for exploring best practices in actual work.

Lecture Contents

  • Based on CS theory

    Learn the basics of threading.

  • Learn how to solve concurrency problems and advanced synchronization techniques.

  • Master the multithreading techniques used in practice.

Learning CS theory to lay the foundation

Before dealing with threads, learn the necessary CS theories to have a solid understanding of the concepts. Build a foundation of core knowledge such as processes, threads, multithreading, and operating system scheduling.

Process & Thread

Multi-Tasking

Scheduling2 (@Schedule)

Thread Basics

Learn advanced synchronization techniques and better ways to solve concurrency problems, including thread creation and control, thread creation cycles, memory visibility, and understanding and solving concurrency issues.

Thread Control

Thread life cycle

Memory Visibility Volatile

Synchronized Synchronized

ReentrantLock - Advanced Synchronization

Thread Control - Various Examples

Learn several advanced techniques in threading

Learn about the producer-consumer problem that must be understood when utilizing threads. Learn the principles of CAS, a lock-free technology that solves this problem, and the principles and utilization of synchronized collections that can be utilized in multi-threaded situations.

Producer-Consumer Problem

CAS (Compare And Swap)

Synchronized Collection

Learn practical multi-threading techniques used in practice

Completely master the core multi-threading technologies essential for actual Java programming, including the principles and practical applications of the Future, Thread Pool, and Executor frameworks.

How Future Works

Thread Pool and Executor Framework - Principles

Thread Pool and Executor Framework - Practical Use

“Rather than thinking about what more I should teach, I thought more deeply about what absolutely must be known.”

In this 'Kim Young-han's Practical Java Roadmap', my goal is to create capable developers who have solid fundamentals that are necessary for actual work. I want to help you develop your capabilities as an engineer by establishing concepts that are helpful when you know and use them properly. I hope that through this lecture, many people can build a foundation for moving forward more easily, comfortably, and reliably.

Recommended for
these people!

Who is this course right for?

  • Aspiring developer

  • For those who have studied Java but want to solidify their fundamentals

  • Developers who want to understand Java more deeply for practical work

Need to know before starting?

  • Kim Young-han's Practical Java - Intermediate Level 1 & 2

  • Kim Young-han's Practical Java - Fundamentals

Hello
This is yh

536,401

Students

34,081

Reviews

8,878

Answers

5.0

Rating

22

Courses

진짜 실무에 필요한 제대로 된 개발자가 될 수 있도록, 교육하는 것이 저의 목표입니다.

 

저의 개발 인생 이야기

EO 인터뷰 영상

개발바닥 - 시골 청년 개발왕 되다

취업과 이직에 대한 고민 해결

 

More

Curriculum

All

118 lectures ∙ (20hr 48min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

345 reviews

5.0

345 reviews

  • profit069

    Reviews 21

    Average Rating 5.0

    5

    100% enrolled

    I remember struggling with creating threads without thinking and bugs while making games with Java Swing in school. At that time, I really hated threads.. Thanks to Younghan's lecture, I realized that threads are this fun. It was a lot of content, but the difficult content was explained repeatedly so that I could understand it and it was firmly embedded in my head. Thank you! In particular, Younghan's strength is that he explains the basics before explaining difficult technologies. I thought the Future interface and Executor would be really difficult in this lecture, but it was really easy because I only properly understood producers and consumers. Thank you~

    • yh
      Instructor

      Infraon, I hope you can enjoy using multi-threading in the future :) I'm rooting for you!

  • audwls19956001

    Reviews 5

    Average Rating 5.0

    5

    33% enrolled

    What can I say about Young-han's lectures? They're simply the best. I was frustrated because I didn't understand the concept of threads, but while watching the instructor's lecture, I realized, "Ah, that's what they meant in the company back then!" and my understanding improved. I'm ashamed to admit, but as a 3-year employee, I felt that I lacked the basics, so I'm studying from the beginning again. There is a lot to learn, but I haven't been able to develop a habit of studying consistently, so I feel impatient and guilty, and I studied while crying. However, I gained strength from reading the lecture reviews and the comments Young-han left, and I keep reminding myself while watching the messages based on the lecture progress rate. Studying is not easy, but I will keep working hard and moving forward! As an aside, I see Young-han's face more often than my family's faces, so I feel like he's family now. 😊

    • yh
      Instructor

      I see you're overcoming a difficult time well. I believe that if you continue to learn steadily while strengthening your fundamentals, you will definitely become a better developer. I can feel how hard you're studying, it feels like a family 😊😊. I'm always cheering you on!

  • transmission

    Reviews 27

    Average Rating 5.0

    5

    5% enrolled

    I came to see the opening of the lecture while struggling with other languages due to livelihood issues. **A game like Blade has also come out, so I wonder if you are going on summer vacation to play it since it has been opened. ㅎㅎㅎ :) As I got caught up in work, the lectures started to pile up, so I think you noticed my laziness and told me that I still have a long way to go, so I will take a look and use my annual leave and run the lectures and make up my mind to finish before the end of the year. Thank you for always giving me informative lectures. ps. Surely.. JVM won't come out, right? (Maybe you will?)

    • yh
      Instructor

      Thank you Marin Frog :) Since multithreading and concurrency are not easy topics, I tried to explain them as easily as possible by adding many pictures and refining the content :) It took a lot of time and energy, but I feel encouraged by the thought that I have organized the things I learned over a long period of time and with difficulty, so that people in the next generation can learn them easily and quickly :) I will also recharge well and prepare hard for the next lecture :) ps. Since I like practical things, I think I will mainly cover basic theories that are related to or can be used in practice :) So I don't think I will go down to JVM :)

  • jangyubbin

    Reviews 4

    Average Rating 5.0

    5

    30% enrolled

    • maxjc

      Reviews 34

      Average Rating 4.7

      5

      8% enrolled

      I was so happy to hear that Younghan-nim's lecture was open in the first half of 2024. I hope you always take care of your health and continue to give great lectures. Java skills and finger practice are the 'national rule'~

      • yh
        Instructor

        Thank you for your first class review, Jongcheol Park :) I hope you have a fun year studying and growing greatly in 2024!

    yh's other courses

    Check out other courses by the instructor!

    Similar courses

    Explore other courses in the same field!

    $59.40