강의

멘토링

로드맵

BEST
Programming

/

Programming Language

Solid Foundation! Starting Java Intensively Part 3 (Part 2): Sockets and File I/O

Starting with java.io, you can learn how to develop high-performance input/output systems based on NIO and NIO.2. Most importantly, the moment you master file I/O, we'll enable you to master high-performance server development as a bonus!

(5.0) 12 reviews

420 learners

  • nullnull8537
Java
Network
tcpsocket

Reviews from Early Learners

What you will learn!

  • You can perform file input/output using Java.

  • Learn about high-performance system development methods based on NIO (New I/O) and AIO (Asynchronous I/O), going beyond java.io.

  • Able to develop high-performance AIO-based TCP/IP server systems.

You will learn the essentials of high-performance AIO asynchronous file I/O and sockets.
A developer's competitiveness is only based on his or her skills. With this course, you will definitely secure a differentiated competitive edge!

Why do we go so deep into 'files' 🀔

If you finish this lecture properly
Based on a high level of understanding comparable to that of a specialist
You can utilize Java .

Various theories on file input/output

Learn in detail about the file system itself , which is covered in the operating system class . Based on this, you will be able to understand Non-blocking I/O and asynchronous I/O .

NIO-based file input/output

Learn input/output methods using NIO (New I/O) beyond traditional java.io -based file input/output. This will help you maximize your understanding of the core theories you must know for future high-performance server development .

High performance AIO

In order to develop a high-performance server, you need to use optimized methods and utilize the resources provided by the operating system. Java provides AIO (Asynchronous I/O) for this purpose, and through this class, you can understand the clear usage method and operating principles.

TCP/IP Socket Programming

It provides directions on how to develop a high-performance chat server by applying NIO and AIO. In addition, by learning related network theories, you can write code based on an understanding of the principles rather than simply utilizing them.


Learning Object


High-performance systems in operation
I want to know the principle properly
Current Developer


By having differentiated competition
As a backend developer
Job seekers who want to get a job


Just because it's a widely used language
I learned it but I don't know the essence well
Junior developer with 1~2 years of experience

Learning Roadmap 🏃🏻

The Java series, which starts with a strong focus, consists of four parts.
Separate lectures 1 and 2 are good lectures to take together to grow as a Spring backend developer 🙂

  • Part 1: Basic Grammar, Procedural Programming

  • Part 2: Object-oriented programming + data structures

  • Part 3: Writing a System Utilization Program

  • Part 4: Preparing to move to Spring Framework

  • Separate 1: Understanding of Web Infrastructure Technology and DB

  • Separate 2: SQL Advanced


Part 3 contains a lot of content that you must know to become an advanced developer, such as multi-threaded programming and synchronization techniques, CAS (Compare And Swap, Set), lock-free structure, file input/output, socket programming, etc. There is so much content covered that it is divided into upper and lower parts . The first part covers multi-threaded programming techniques in depth based on an understanding of the Java Memory Model and JVM, while the second part covers asynchronous file input/output for high-performance system development and socket programming for server development as core topics.

You will learn about NIO and AIO beyond java.io for high-performance system development and understand how to develop high-performance server systems based on these theories.

After taking this lecture...

  • You will gain a clear understanding of core concepts regarding file systems .

  • You can understand and utilize traditional file input/output techniques as well as high-performance input/output techniques based on NIO (New I/O) .

  • You can utilize AIO (Asynchronous I/O) with operating system-level support to maximize input/output efficiency.

  • You will understand the essence of sockets and be able to develop high-performance TCP/IP server systems .

Java starts off strong
This isn't just a Java course.

1⃣
A conceptual understanding of the file system is very important!


  • Before learning about file input/output, you can learn the operating system level operation structure for file processing .

  • You can understand the internal differences between Buffered I/O and Non-buffered I/O and the fundamental reasons why performance differences occur.

  • Establish a theory for understanding high-performance input/output systems beyond Java.io-based input/output.

2⃣
Asynchronous I/O techniques for developing high-performance systems


  • You will learn how to achieve high performance through asynchronous file input/output beyond traditional file input/output systems.

  • It helps you understand and apply I/O multiplexing-based input/output techniques in practice.

  • You can develop high-performance systems that rival the performance of C/C++-based applications by leveraging AIO (Asynchronous I/O) .

3⃣
Understanding TCP/IP socket programming and networks


  • Starting with the initial Echo service, we will gradually improve its functions and ultimately develop it into a high-performance AIO-based chat server system .

  • By learning the essential network theories that you must know in relation to socket programming, we help you understand them rather than simply memorize them.

  • To ensure proper practice, be aware of the specifics and differences between a typical home and single-host environment where a router is used and approach the practice with that in mind.

4⃣
Organized teaching materials and boards 📜


  • All class content is based on PPT materials, but explanations are given as if writing on a whiteboard .

  • This allows students to comprehensively understand the flow of the background and reasons for the creation of the structure, rather than just seeing one finished result .

5⃣
The goal is differentiated competitiveness and employment 💌

  • Before learning full-fledged Java programming, I would like to make it clear that this course is aimed at employment . And

    Based on the instructor's extensive teaching experience, a clear learning roadmap and required time are presented .

  • We encourage you to establish a proper study allocation and schedule from the beginning to avoid wasting time with wrong choices.

Practice environment

  • Operating System and Version (OS): Windows 11

  • Tools Used: IntelliJ IDEA 2024.2.3 (Community Edition)

  • PC specifications: Windows 11 OS and IntelliJ can run without any problems

Learning Materials

  • PPT materials used in class (provided as PDF file)

  • Complete examples and answers to essential practice problems (provided as a zip file)

Player Knowledge and Notes

  • Java Part 1-3 (Part 1) that starts with a solid foundation
    (※ Assuming you know basic grammar and OOP as well as multi-threading and synchronization)


Recommended for
these people

Who is this course right for?

  • Person who wants to develop high-performance backend systems based on Java

  • Those who understand the essence of sockets and want to develop high-performance servers immediately applicable in practice.

  • Those who genuinely understand the meaning of synchronous/asynchronous file I/O and want to definitively move beyond the beginner level.

Need to know before starting?

  • A person who understands the content covered in the '독하게 시작하는 Java Part2~3(상)' lecture.

Hello
This is

38,674

Learners

2,263

Reviews

1,104

Answers

4.9

Rating

25

Courses

널널한 개발자 TV 채널 죌읞장읎자
30년 넘게 ITꞰ술의 바닀륌 항핎하고 있는 개발자 입니닀.  반갑습니닀. ^^  

Curriculum

All

45 lectures ∙ (9hr 15min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

12 reviews

5.0

12 reviews

  • twoj님의 프로필 읎믞지
    twoj

    Reviews 31

    ∙

    Average Rating 4.9

    5

    31% enrolled

    Java + CS理論たで䞀緒に孊べる唯䞀の講座

    • nullnull8537
      Instructor

      最初のレビュヌ、ありがずうございたす。 新しい講座を開講するず、最初の評䟡を本圓に心埅ちにするものです。 その䞊、良い評䟡をしおいただき、安心したした。 :)

  • cheetos님의 프로필 읎믞지
    cheetos

    Reviews 12

    ∙

    Average Rating 4.9

    5

    100% enrolled

    途䞭途䞭で教えおくださるCS知識ず、その知識ず関連付けお説明しおくださるのがずおも圹に立ちたす。

    • nullnull8537
      Instructor

      良い評䟡をありがずうございたす。:)

  • rksidksrksi님의 프로필 읎믞지
    rksidksrksi

    Reviews 7

    ∙

    Average Rating 5.0

    5

    100% enrolled

    ファむル入出力を扱うこずがあたりなくお重芁ではないず思っお生きおきたしたが、゜ケットもファむルずいう点で非垞に重芁であるこずを悟るようになりたした。その他にも授業で以前に扱ったマルチスレッドずノンブロッキング非同期方匏でサヌバヌを最適化できる点も新鮮に感じられたようです。ずおも良い講矩でした

    • nullnull8537
      Instructor

      ファむル入出力にはCS理論が集䞭する重芁な内容が倚数含たれおいたす。既にお感じになっおいるかず思いたすが、その重芁性を改めお匷調させおいただきたす。このような認識が生たれたずいうこずだけでも玠晎らしい成果を収められたずいう点もぜひお䌝えしたいず思いたす。今やより広い芖野を持たれるようになったようで、講垫ずしお嬉しく思いたす。😊

  • jw12님의 프로필 읎믞지
    jw12

    Reviews 9

    ∙

    Average Rating 5.0

    5

    33% enrolled

    • nullnull8537
      Instructor

      良い評䟡をありがずうございたす。:)

  • tjdgns55063964님의 프로필 읎믞지
    tjdgns55063964

    Reviews 14

    ∙

    Average Rating 5.0

    5

    100% enrolled

    • nullnull8537
      Instructor

      良い評䟡をありがずうございたす。:)

Limited time deal ends in 4 days

$6,226.00

23%

$51.70

nullnull8537's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!