Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Programming Language

Nền tảng vững chắc! Bắt đầu quyết liệt với Java Phần 3(hạ) : Socket và File I/O

Bắt đầu với java.io, bạn có thể học cách phát triển hệ thống nhập/xuất hiệu năng cao dựa trên NIO và NIO.2. Hơn hết, khi bạn hoàn thành nhập/xuất file, việc phát triển máy chủ hiệu năng cao cũng sẽ hoàn thành theo đó!

(5.0) 11 đánh giá

365 học viên

  • nullnull8537
Java
Network
tcpsocket

Đánh giá từ những học viên đầu tiên

Dịch cái này sang tiếng Việt

  • Có thể nhập/xuất tệp bằng Java.

  • Có thể tìm hiểu phát triển hệ thống hiệu năng cao dựa trên NIO (New I/O), AIO (Asynchronous I/O), vượt qua java.io.

  • Có thể phát triển hệ thống máy chủ TCP/IP hiệu năng cao dựa trên AIO.

Bạn sẽ học được những kiến ​​thức cơ bản về I/O tệp không đồng bộ AIO hiệu suất cao và socket.
Khả năng cạnh tranh của một nhà phát triển chỉ dựa trên kỹ năng của người đó. Khóa học này chắc chắn sẽ mang lại cho bạn lợi thế cạnh tranh!

Tại sao chúng ta lại đi sâu vào 'tệp' 🤔

Nếu bạn hoàn thành bài giảng này một cách đúng đắn
Dựa trên trình độ hiểu biết cao tương đương với một chuyên gia
Bạn có thể sử dụng Java .

Nhiều lý thuyết về đầu vào/đầu ra tập tin

Tìm hiểu thêm về hệ thống tập tin một cách chi tiết trong lớp hệ điều hành . Dựa trên điều này, chúng ta có thể biết chính xác về I/O không chặn và I/O không đồng bộ .

Đầu vào/đầu ra tệp dựa trên NIO

Tìm hiểu các phương pháp nhập/xuất bằng NIO (New I/O) ngoài phương pháp nhập/xuất tệp truyền thống dựa trên java.io. Điều này sẽ giúp bạn hiểu tối đa các lý thuyết cốt lõi cần biết để phát triển máy chủ hiệu suất cao trong tương lai .

AIO hiệu suất cao

Việc phát triển một máy chủ hiệu suất cao không chỉ đòi hỏi phải sử dụng các phương pháp tối ưu mà còn phải có khả năng sử dụng các tài nguyên do hệ điều hành cung cấp. Ở trên, Java cung cấp AIO (I/O không đồng bộ) và thông qua lớp này, bạn có thể hiểu được phương pháp sử dụng rõ ràng và nguyên lý hoạt động.

Lập trình Socket TCP/IP

Tài liệu này cung cấp hướng dẫn về cách phát triển máy chủ trò chuyện hiệu suất cao bằng cách áp dụng NIO và AIO. Ngoài ra, bằng cách tìm hiểu các lý thuyết mạng liên quan, bạn có thể viết mã dựa trên sự hiểu biết về các nguyên tắc thay vì chỉ sử dụng chúng.


Đối tượng học tập


Hệ thống hiệu suất cao đang hoạt động
Tôi muốn biết nguyên lý một cách chính xác
Nhà phát triển hiện tại


Bằng cách có sự cạnh tranh khác biệt
Là một nhà phát triển phần mềm phụ trợ
Người tìm việc muốn có việc làm


Chỉ vì nó là một ngôn ngữ được sử dụng rộng rãi
Tôi đã học nó nhưng tôi không biết bản chất
Junior developer có 1~2 năm kinh nghiệm

Lộ trình học tập 🏃🏻

Chuỗi bài học Java, bắt đầu bằng nội dung chính, bao gồm bốn phần.
Bài giảng riêng biệt 1 và 2 là những bài giảng hay để học cùng nhau nhằm phát triển thành một nhà phát triển Spring backend 🙂

  • Phần 1: Ngữ pháp cơ bản, Lập trình thủ tục

  • Phần 2: Lập trình hướng đối tượng + cấu trúc dữ liệu

  • Phần 3: Viết chương trình sử dụng hệ thống

  • Phần 4: Chuẩn bị chuyển sang Spring Framework

  • Riêng 1: Hiểu biết về Công nghệ Cơ sở hạ tầng Web và DB

  • Riêng 2: SQL nâng cao


Phần 3 chứa nhiều nội dung mà bạn phải biết để trở thành một nhà phát triển nâng cao , chẳng hạn như lập trình đa luồng và các kỹ thuật đồng bộ hóa, CAS (So sánh và hoán đổi, Đặt), cấu trúc không khóa, nhập/xuất tệp và lập trình socket. Có rất nhiều nội dung cần đề cập đến nên nó được chia thành phần trên và phần dưới. Phần đầu tiên trình bày sâu về các kỹ thuật lập trình đa luồng dựa trên sự hiểu biết về Mô hình bộ nhớ Java và JVM, trong khi phần thứ hai trình bày về đầu vào/đầu ra tệp không đồng bộ để phát triển hệ thống hiệu suất cao và lập trình socket để phát triển máy chủ như các chủ đề cốt lõi.

Bạn sẽ tìm hiểu về NIO và AIO ngoài java.io để phát triển hệ thống hiệu suất cao hiểu cách phát triển các hệ thống máy chủ hiệu suất cao dựa trên các lý thuyết này.

Sau khi nghe xong bài giảng này...

  • Bạn sẽ hiểu rõ hơn về các khái niệm cốt lõi liên quan đến hệ thống tập tin .

  • Bạn có thể hiểu và sử dụng các kỹ thuật nhập/xuất tệp truyền thống cũng như các kỹ thuật nhập/xuất hiệu suất cao dựa trên NIO (New I/O) .

  • Bạn có thể sử dụng AIO (I/O không đồng bộ) với sự hỗ trợ ở cấp độ hệ điều hành để tối đa hóa hiệu quả đầu vào/đầu ra.

  • Bạn sẽ hiểu được bản chất của socket và có khả năng phát triển các hệ thống máy chủ TCP/IP hiệu suất cao .

Java khởi đầu mạnh mẽ
Đây không chỉ là khóa học Java.

1⃣
Hiểu biết khái niệm về hệ thống tập tin là rất quan trọng!


  • Trước khi tìm hiểu về nhập/xuất tệp, bạn có thể tìm hiểu cấu trúc hoạt động cấp hệ điều hành để xử lý tệp .

  • Bạn có thể hiểu được sự khác biệt bên trong giữa I/O đệm và I/O không đệm và lý do cơ bản tại sao lại xảy ra sự khác biệt về hiệu suất.

  • Thiết lập lý thuyết để hiểu các hệ thống đầu vào/đầu ra hiệu suất cao ngoài đầu vào/đầu ra dựa trên Java.io.

2⃣
Kỹ thuật I/O không đồng bộ để phát triển các hệ thống hiệu suất cao


  • Bạn sẽ học cách đạt được hiệu suất cao thông qua việc nhập/xuất tệp không đồng bộ vượt xa các hệ thống nhập/xuất tệp truyền thống.

  • Nó giúp bạn hiểu và áp dụng các kỹ thuật đầu vào/đầu ra dựa trên ghép kênh I/O vào thực tế.

  • Bạn có thể phát triển các hệ thống hiệu suất cao có thể sánh ngang với hiệu suất của các ứng dụng dựa trên C/C++ bằng cách tận dụng AIO (I/O không đồng bộ) .

3⃣
Hiểu về lập trình socket TCP/IP và mạng


  • Bắt đầu với dịch vụ Echo đầu tiên, chúng tôi sẽ dần cải thiện các chức năng của nó và cuối cùng phát triển nó thành hệ thống máy chủ trò chuyện dựa trên AIO hiệu suất cao .

  • Bằng cách tìm hiểu các lý thuyết mạng thiết yếu mà bạn phải biết liên quan đến lập trình socket, chúng tôi giúp bạn hiểu chúng thay vì chỉ ghi nhớ chúng.

  • Để đảm bảo thực hành đúng, hãy nhận biết các chi tiết cụ thể và sự khác biệt giữa môi trường gia đình thông thường và môi trường máy chủ đơn lẻ nơi sử dụng bộ định tuyến và thực hành theo hướng đó.

4⃣
Tài liệu giảng dạy và bảng được sắp xếp hợp lý 📜


  • Toàn bộ nội dung lớp học đều dựa trên tài liệu PPT, nhưng phần giải thích được đưa ra như thể viết trên bảng trắng .

  • Điều này cho phép sinh viên hiểu toàn diện về dòng chảy của bối cảnh và lý do tạo ra cấu trúc, thay vì chỉ nhìn thấy một kết quả hoàn chỉnh .

5⃣
Mục tiêu là tạo ra sự cạnh tranh và việc làm khác biệt 💼

  • Trước khi học lập trình Java chuyên sâu, tôi muốn làm rõ rằng khóa học này hướng tới mục tiêu là việc làm .

    Dựa trên kinh nghiệm giảng dạy sâu rộng của người hướng dẫn , chúng tôi cung cấp lộ trình học tập rõ ràng và thời gian cần thiết .

  • Chúng tôi khuyến khích bạn thiết lập lịch trình và phân bổ thời gian học tập hợp lý ngay từ đầu để tránh lãng phí thời gian vào những lựa chọn sai lầm.

Môi trường thực hành

  • Hệ điều hành và Phiên bản (OS): Windows 11

  • Công cụ được sử dụng: IntelliJ IDEA 2024.2.3 (Phiên bản cộng đồng)

  • Thông số kỹ thuật PC: Hệ điều hành Windows 11 và IntelliJ có thể chạy mà không có bất kỳ vấn đề nào

Tài liệu học tập

  • Tài liệu PPT sử dụng trong lớp học (được cung cấp dưới dạng tệp PDF)

  • Các ví dụ và câu trả lời đầy đủ cho các bài tập thực hành thiết yếu (được cung cấp dưới dạng tệp zip)

Kiến thức và ghi chú của người chơi

  • Java Phần 1-3 (Phần 1) bắt đầu với nền tảng vững chắc
    (※ Giả sử bạn biết ngữ pháp cơ bản và OOP cũng như đa luồng và đồng bộ hóa)


Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người muốn phát triển hệ thống backend hiệu năng cao dựa trên Java

  • Người muốn hiểu bản chất của socket và phát triển máy chủ hiệu năng cao có thể áp dụng ngay vào thực tế

  • Người muốn hiểu đúng ý nghĩa của I/O tệp đồng bộ/bất đồng bộ và chắc chắn vượt qua trình độ sơ cấp

Cần biết trước khi bắt đầu?

  • Người hiểu nội dung khóa học "Bắt đầu 'nghiêm túc' Java Phần 2~3 (Thượng)".

Xin chào
Đây là

36,724

Học viên

2,105

Đánh giá

1,093

Trả lời

4.9

Xếp hạng

24

Các khóa học

널널한 개발자 TV 채널 주인장이자
30년 넘게 IT기술의 바다를 항해하고 있는 개발자 입니다.  반갑습니다. ^^  

Chương trình giảng dạy

Tất cả

45 bài giảng ∙ (9giờ 15phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

11 đánh giá

5.0

11 đánh giá

  • 더블지님의 프로필 이미지
    더블지

    Đánh giá 28

    Đánh giá trung bình 4.9

    5

    31% đã tham gia

    자바 + cs 이론까지 같이 공부할 수 있는 유일한 강의

    • 널널한 개발자
      Giảng viên

      첫 번째 수강평 고맙습니다. 새 강의를 오픈하면 첫 평가를 정말 목마르게 기다리게 되는 것 같습니다. 게다가 좋게 봐주셔서 마음이 편안해졌습니다. :)

  • 김주원님의 프로필 이미지
    김주원

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    33% đã tham gia

  • SeongHun Jeong님의 프로필 이미지
    SeongHun Jeong

    Đánh giá 14

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

  • sunny75님의 프로필 이미지
    sunny75

    Đánh giá 94

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    (25/08/02/토 13:30) 널널님의 강의를 들으니, 동기화 / 비정상 에러 생각(LAN선 분리) / context 부화 에 대한 내용이 제게 확 다가 옵니다. 모든 강의 에서 항상 많은 도움을 받고 있네요. 좋은 강의 만들어 주셔서 감사합니다.

    • 널널한 개발자
      Giảng viên

      이미 네트워크 및 소켓에 대해 알고 계시므로 Java 환경에서 어떻게 달라지는지만 생각하셔도 충분할 것 같다는 의견을 드려봅니다. 늘 고맙습니다. :)

  • hayoung_jang님의 프로필 이미지
    hayoung_jang

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    31% đã tham gia

1.402.898 ₫

Khóa học khác của nullnull8537

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!