인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
BEST
Programming

/

Programming Language

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

Learn multithreading and concurrency in depth, from basics to practical levels.

(5.0) 160 reviews

5,224 students

Java
oop
thread
multithread
concurrent
Thumbnail

This course is prepared for Basic Learners.

What you will learn!

  • Multithread

  • Simultaneity

  • Thread Pool and 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).

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?

  • Developer job seeker

  • For those who have studied Java but want to build a solid foundation

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

Need to know before starting?

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

  • Kim Young-han's Practical Java - Basics

Hello
This is yh

Students

474,934

Reviews

29,661

Rating

5.0

Courses

21

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

 

저의 개발 인생 이야기

EO 인터뷰 영상

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

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

 

Curriculum

All

118 lectures ∙ (20hr 48min)

Lecture resources

are provided.

  • Course Introduction

    02:28

Published: 
Last updated: 

Reviews

Not enough reviews.
Become the author of a review that helps everyone!