CodeGym
AI Academy
Khuyến mãi
CodeGym University
Học tập
Khóa học
Bài tập
Khảo sát & Bài kiểm tra
Trò chơi
Trợ giúp
Lịch
Cộng đồng
Người dùng
Diễn đàn
Trò chuyện
Bài viết
Câu chuyện thành công
Hoạt động
Đánh giá
Gói đăng ký
Chủ đề sáng

Bài học

  • Đánh giá
  • Về chúng tôi
Bắt đầu
Bắt đầu học
Bắt đầu học ngay
  • Tiến độ của tôi
  • Khóa học
  • Bản đồ Quest
  • Bài học
  • IO bất đồng bộ: AsynchronousFileChannel (NIO2)

    JAVA 25 SELF
    Cấp độ 56,Bài học 0
    Trong bài giảng này, chúng ta phân tích I/O bất đồng bộ (AIO) trong Java NIO.2: nó khác gì so với I/O đồng bộ, cách làm việc với AsynchronousFileChannel, khởi chạy các thao tác đọc/ghi qua Future và CompletionHandler, cũng như tác động của việc chọn pool luồng ExecutorService. Trong thực hành, chúng ta xem cách mở kênh qua open, các phương thức read/write, sơ đồ tương tác và các lỗi thường gặp.
    Có sẵn
  • Future, CompletionHandler: xử lý hoàn tất các thao tác

    JAVA 25 SELF
    Cấp độ 56,Bài học 1
    Cách xử lý việc hoàn tất các thao tác bất đồng bộ NIO2 trong Java: “lời hứa” qua Future và callback qua CompletionHandler. Chúng ta sẽ phân tích chữ ký read/ write của AsynchronousFileChannel, nhận kết quả theo cách chặn bằng get() và thăm dò với isDone(), cũng như xử lý không chặn trong completed()/ failed(). Sẽ có các ví dụ thực tế về đọc/ghi và phần so sánh ngắn các cách tiếp cận.
    Có sẵn
  • Xử lý tệp văn bản bất đồng bộ

    JAVA 25 SELF
    Cấp độ 56,Bài học 2
    Thực hành I/O bất đồng bộ trong Java: đọc các tệp văn bản lớn theo từng khối vào ByteBuffer qua AsynchronousFileChannel, chuyển đổi byte thành ký tự một cách chính xác bằng CharsetDecoder, ghi dữ liệu trở lại theo kiểu bất đồng bộ (thông qua Future hoặc CompletionHandler). Phân tích vấn đề “đứt đoạn” ký tự đa byte (ví dụ, "UTF-8"), đếm số dòng ngay khi đọc, lựa chọn charset và các lỗi điển hình khi làm việc với buffer và channel.
    Có sẵn
  • Xử lý lỗi trong I/O bất đồng bộ, hủy thao tác

    JAVA 25 SELF
    Cấp độ 56,Bài học 3
    Cách bắt và xử lý lỗi đúng trong I/O bất đồng bộ của Java: callback CompletionHandler với các phương thức completed/ failed, ghi log và thông báo. Phân tích hủy thao tác qua Future và cancel( boolean), hệ quả đối với get() và CancellationException, cũng như các lời khuyên thực tế: try-with-resources, đồng bộ hóa với CountDownLatch/ CompletableFuture và giải phóng tài nguyên.
    Có sẵn
  • Phân tích lỗi khi làm việc bất đồng bộ với các tệp

    JAVA 25 SELF
    Cấp độ 56,Bài học 4
    Phân tích thực hành các cạm bẫy khi làm việc với I/O tệp bất đồng bộ trong Java NIO: quản lý bộ đệm ByteBuffer đúng cách (thuộc tính position/limit, gọi flip(), clear(), compact()), race khi thực hiện song song với AsynchronousFileChannel, đóng tài nguyên (channel.close(), try-with-resources), xử lý lỗi trong CompletionHandler (phương thức failed(...)), quản lý vòng đời thao tác qua Future<Integer> và đồng bộ bằng CountDownLatch, xử lý mã hóa ký tự đúng đắn với CharsetDecoder, cũng như lựa chọn pool luồng phù hợp ExecutorService.
    Có sẵn
Học
  • Đăng ký
  • Khóa học Java
  • Trợ giúp bài tập
  • Bảng giá
  • Cú pháp Java
Cộng đồng
  • Người dùng
  • Bài viết
  • Diễn đàn
  • Trò chuyện
  • Câu chuyện thành công
  • Hoạt động
  • Chương trình giới thiệu
Công ty
  • Về chúng tôi
  • Liên hệ
  • Đánh giá
  • Phòng báo chí
  • CodeGym cho EDU
  • Câu hỏi thường gặp
  • Hỗ trợ
CodeGymCodeGym là một khóa học trực tuyến để học lập trình Java từ đầu. Khóa học này là cách hoàn hảo để nắm vững Java cho người mới bắt đầu. Nó chứa 1200+ bài tập với kiểm tra ngay lập tức và phạm vi lý thuyết cơ bản cần thiết về Java. Để giúp bạn thành công trong học tập, chúng tôi đã triển khai một bộ tính năng tạo động lực: bài kiểm tra, dự án lập trình, nội dung về phương pháp học hiệu quả, và hỗ trợ sự nghiệp lập trình viên Java.
Theo dõi chúng tôi
Ngôn ngữ giao diện
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский
Vietnamese
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym
MastercardVisa
"Lập trình viên được tạo nên, không sinh ra" © 2026 CodeGym