
외워서 끝내는 네트워크 핵심이론 - 기초
널널한 개발자
TCP/IP에서 HTTP까지! 네트워크에 대한 기본 이론이 부족한 분들이 '외워서'라도 전공 이론을 이해하고자 희망하는 분들을 위해 준비한 강의입니다. 할 수 있습니다!
입문
네트워크, 프로토콜
Bí kíp thoát khỏi trình độ gà mờ! Hướng dẫn chi tiết về lập trình đa luồng Java và kỹ thuật đồng bộ hóa!
Kỹ thuật lập trình đa luồng dựa trên Java
Mô hình bộ nhớ Java và cơ chế đồng bộ hóa, cùng với cấu trúc JVM
Cách triển khai hàng đợi Lock-free hiệu năng cao
Bạn sẽ có được sự hiểu biết sâu sắc ở cấp độ chuyên gia về kỹ thuật lập trình đa luồng và đồng bộ hóa.
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ìm hiểu cách chạy nhiều luồng trong một chương trình đồng thời và về các kỹ thuật đồng bộ hóa. Bạn sẽ được học sâu mọi thứ từ những phương pháp đơn giản sử dụng từ dành riêng được đồng bộ hóa cho đến các đặc điểm của cấu trúc bên trong của JVM .
Trong môi trường đa luồng Java, các vùng bộ nhớ được quản lý bằng cách chia chúng thành vùng bộ nhớ làm việc và vùng bộ nhớ chính . Trong quá trình này, bạn sẽ có thể hiểu ở cấp độ chuyên gia về những vấn đề có thể xảy ra khi quá trình đồng bộ hóa không thành công và những nguyên tắc nào có thể được sử dụng để giải quyết chúng .
Tìm hiểu kỹ thuật đồng bộ hóa hiệu suất cao mà không cần chuyển mạch bằng cách tận dụng lệnh So sánh và hoán đổi (CAS) được cung cấp ở cấp CPU. Hơn nữa, bạn có thể trực tiếp triển khai và kiểm soát cấu trúc hàng đợi không khóa .
Tìm hiểu về kiểu chung , vượt ra ngoài ADT và giảm đáng kể sự phụ thuộc vào kiểu dữ liệu. Kiểu chung này cho phép bạn viết các lớp có khả năng tái sử dụng cao và có thể sử dụng tốt trong khuôn khổ bộ sưu tập .
※Khoan đã! JVM là gì?
JVM (Máy ảo Java) là máy tính ảo giúp chạy các chương trình Java trên máy tính.
Chỉ làm theo mã thì chán lắm
Một người mới bắt đầu học lập trình cảm thấy như đầu mình chẳng còn gì cả
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
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. Vì có quá nhiều nội dung cần đề cập nên bài viết được chia thành phần trên và phần dưới . Phần trên đi sâu vào các kỹ thuật lập trình đa luồng dựa trên sự hiểu biết về Java Memory Model và JVM.
Bạn có thể tìm hiểu cụ thể cách thức hoạt động của nhiều ngữ pháp liên quan đến đồng bộ hóa luồng trong JVM và xây dựng nền tảng vững chắc để ứng phó với nhiều hiện tượng bất thường hoặc lỗi logic có thể xảy ra trong điều kiện chạy đua.
Bạn sẽ hiểu được các nguyên tắc về cách Máy ảo Java (JVM) và Mô hình bộ nhớ Java (JMM) hoạt động trong môi trường đa luồng. Dựa trên điều này, bạn có thể có được khả năng phản hồi trực tiếp các sự cố do lỗi đồng bộ hóa gây ra.
Bạn có thể tìm hiểu các nguyên tắc hoạt động cơ bản của từ khóa dành riêng được đồng bộ hóa cùng với JVM và hiểu khóa giám sát theo góc nhìn của các nguyên tắc thay vì các thuật ngữ đơn giản .
Bạn sẽ học cách triển khai khóa xoay bằng CAS (So sánh và hoán đổi, So sánh và đặt), điều này rất cần thiết để triển khai hệ thống đầu vào/đầu ra hiệu suất cao, cũng như cách tự mình triển khai và sử dụng hàng đợi không có khóa . Đây là những kỹ thuật lập trình trung cấp đến nâng cao mà ngay cả những người chuyên ngành khoa học máy tính cũng khó có thể tiếp cận.
Bạn sẽ tìm hiểu về cú pháp chung và cách sử dụng đúng khung bộ sưu tập trong môi trường đa luồng .
Giải thích cách tạo môi trường đa luồng bằng cách sử dụng lớp Thread và lý do tại sao môi trường đa luồng lại cần thiết .
Chúng tôi giải thích lý thuyết liên quan bằng cách đưa ra ví dụ cụ thể về việc áp dụng đa luồng vào cấu trúc vòng lặp sự kiện, đây là cấu trúc chung của các ứng dụng dựa trên GUI .
Chúng ta cũng sẽ tìm hiểu lý do tại sao tồn tại các cấu trúc dữ liệu gây ra tình trạng chạy đua .
Bạn có thể thấy cụ thể những gì xảy ra bên trong JVM khi sử dụng các kỹ thuật đồng bộ hóa dựa trên khóa, bao gồm synchronized .
Bạn có thể thấy mức cải thiện hiệu suất mong đợi khi phân biệt giữa các trường hợp sử dụng các đối tượng hạt nhân được cung cấp ở cấp hệ điều hành và các trường hợp không sử dụng.
Hiểu về JMM (Mô hình bộ nhớ Java) và tìm hiểu đặc điểm hoạt động của nó.
Bạn có thể thấy điều gì xảy ra khi có vấn đề đồng bộ hóa giữa vùng bộ nhớ làm việc mà mỗi luồng sử dụng độc lập và bộ nhớ chính áp dụng cho toàn bộ JVM .
Biết thời điểm cụ thể và lý do tại sao quá trình đồng bộ hóa giữa các vùng bộ nhớ diễn ra cho phép bạn viết mã phù hợp.
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 .
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 . Và
Dựa trên kinh nghiệm giảng dạy sâu rộng của người hướng dẫn , lộ trình học tập rõ ràng và thời gian cần thiết được trình bày .
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.
Chúng tôi đi sâu vào các vấn đề đồng bộ hóa và chi phí chuyển mạch cần được xem xét trong môi trường đa luồng.
Nó cho thấy bằng những con số cụ thể về mức độ khác biệt về hiệu suất khi áp dụng nhiều kỹ thuật đồng bộ hóa khác nhau trong cùng một môi trường .
Ngay cả khi bạn áp dụng cấu trúc không khóa hiệu suất cao , bạn vẫn có thể trực tiếp gặp phải tình huống hiệu suất thực sự giảm mạnh.
Tìm hiểu kỹ thuật đồng bộ hóa luồng mà không cần chuyển đổi bằng cách sử dụng lệnh CAS (So sánh và hoán đổi, đặt), lệnh này rất cần thiết để xây dựng các hệ thống hiệu suất cao.
Bạn có thể tự triển khai hàng đợi không khóa và thử nghiệm nhiều thay đổi tình huống khác nhau để xem hiệu suất thay đổi như thế nào.
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 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)
Java Phần 1~2, bắt đầu với nền tảng vững chắc
(※ Giả sử bạn biết tất cả về ngữ pháp cơ bản và OOP)
Khóa học này dành cho ai?
Lập trình viên Java mới vào nghề muốn có lợi thế cạnh tranh khác biệt trên thị trường việc làm
Dành cho những ai muốn học Java chuyên sâu dựa trên cấu trúc bên trong của JVM.
Dành cho những ai muốn hiểu sâu hơn về mô hình bộ nhớ Java và môi trường đa luồng.
Dành cho những ai muốn học các kỹ thuật lập trình Java trung cấp và cao cấp.
Cần biết trước khi bắt đầu?
Hiểu về cấu trúc bên trong JVM ở mức độ Java Part 2 một cách chuyên sâu.
Lập trình Java
36,737
Học viên
2,107
Đánh giá
1,093
Trả lời
4.9
Xếp hạng
24
Các khóa học
Tất cả
51 bài giảng ∙ (10giờ 11phút)
Tài liệu khóa học:
Tất cả
23 đánh giá
5.0
23 đánh giá
1.611.840 ₫
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!