Đúng rồi bạn, sẽ tốn kém chi phí để tăng size của bảng hash lên khi load factor đạt quá ngưỡng, điều này là không thể tránh được. Nên mới có vấn đề xung đột khi insert vào bảng hash, và các thuật toán cố gắng giải quyết xung đột đó. Với cả thường ta sử dụng bảng hash trong bài toán tìm kiếm một cách nhanh nhất với mong muốn độ phức tạp O(1), việc tốn kém thêm chi phí về rehash khi tới ngưỡng và chi phí bộ nhớ là điều chấp nhận được.
Cho mình hỏi khi dùng @SpringBootTest, autowire thằng service và mockbean thằng repository, vậy thì thằng service sẽ inject thằng repo được tạo ra bởi @SpringBoot Tét hay là thằng trong MockBean?
@datbv tức là thằng Atomic nó sẽ tự retry cho mình tới lúc nào thành công thì thôi à bác? Với các atomic khác ngoài atomicinteger thì nó có retry vậy không, hay mình phải tự retry? Với cả nếu mà chỉ có 1 thread thực thi tất cả thao tác CAS cùng lúc thì các thread khác ko làm gì được thì nó vẫn bị block chứ nhỉ? Ví dụ như thread 1 đang bắt đầu đọc từ mem là step 1, thì thread 2 sẽ không làm gì được (blocked) chứ nhỉ? Vẫn đang hơi confuse chỗ này
người 100 tưởng chừng là người có nhiều thông tin nhất nhưng thực tế lại là người không đủ cơ sở để đoán màu mũ của chính mình (vì phải đoán đầu tiên) nên chắc chắn không thể 100% sống sót.
Nếu bạn chạy Docker như trong bài thì môi trường linux nào cũng chạy được mà. Còn cài Kafka trên Oracle Linux thì mình chưa test nên không rõ, bạn phải nhờ Google thôi.
THẢO LUẬN
hehe
Cám ơn Quang vì những bài viết hay
Đúng rồi bạn, sẽ tốn kém chi phí để tăng size của bảng hash lên khi load factor đạt quá ngưỡng, điều này là không thể tránh được. Nên mới có vấn đề xung đột khi insert vào bảng hash, và các thuật toán cố gắng giải quyết xung đột đó. Với cả thường ta sử dụng bảng hash trong bài toán tìm kiếm một cách nhanh nhất với mong muốn độ phức tạp O(1), việc tốn kém thêm chi phí về rehash khi tới ngưỡng và chi phí bộ nhớ là điều chấp nhận được.
Bạn có thể xem thêm ví dụ implement bảng hash sử dụng java ở đây nhé: https://www.geeksforgeeks.org/implementing-our-own-hash-table-with-separate-chaining-in-java/
Cho mình hỏi khi dùng @SpringBootTest, autowire thằng service và mockbean thằng repository, vậy thì thằng service sẽ inject thằng repo được tạo ra bởi @SpringBoot Tét hay là thằng trong MockBean?
@dao.thai.son Thank for your sharing!
Qua nghiên cứu mình cũng nghĩ là nên để nguyên 401, sửa lại nó lại sai đi bản chất.
@TanLm chắc là do người thứ 5 bị ngơ:))))
@viet111 vậy hiện tại có thể tối ưu kafka trên môi trường linux rồi ạ, anh có tài liệu nào về Kraft ko em xin link được chứ ạ
@datbv tức là thằng Atomic nó sẽ tự retry cho mình tới lúc nào thành công thì thôi à bác? Với các atomic khác ngoài atomicinteger thì nó có retry vậy không, hay mình phải tự retry? Với cả nếu mà chỉ có 1 thread thực thi tất cả thao tác CAS cùng lúc thì các thread khác ko làm gì được thì nó vẫn bị block chứ nhỉ? Ví dụ như thread 1 đang bắt đầu đọc từ mem là step 1, thì thread 2 sẽ không làm gì được (blocked) chứ nhỉ? Vẫn đang hơi confuse chỗ này
@huukimit like idol, like fan mà anh, so với anh em vẫn còn non lắm
người 100 tưởng chừng là người có nhiều thông tin nhất nhưng thực tế lại là người không đủ cơ sở để đoán màu mũ của chính mình (vì phải đoán đầu tiên) nên chắc chắn không thể 100% sống sót.
Bài viết hay, chi tiết cụ thể, nên xuống comment khen chủ thớt đã r vòng lại thực hành sau
)
Nếu bạn chạy Docker như trong bài thì môi trường linux nào cũng chạy được mà. Còn cài Kafka trên Oracle Linux thì mình chưa test nên không rõ, bạn phải nhờ Google thôi.
làm sao để thực hiện Kraft mode trong môi trường Linux anh nhỉ, cụ thể là Oracle Linux 9
nếu mà bị lỗi ko tìm được kafka.service là tại sao vậy anh
lệnh cập nhật imagePullSecrets của bạn Quân ko sử dụng đc đâu nhé, bạn thử lệnh này ok nè:
Cấu trúc file yaml như sau
@giang.nt yay
@monmen e xin câu hỏi đi contribute cho interview anh nhé! 😀
Cảm ơn bạn đã đọc bài viết ạ 😍 .
Mãi đỉnh