Tiếp sau bài Kotlin Coroutines Basic Concepts. Bài này mình sẽ tận dụng những kiến thức trên để giải quyết một vấn đề trong Concurrent đó là Race Condition bằng ý tưởng Map-Reduce. Bài này khá ngắn nhưng lại đề cập được 2 chủ đề rất hay là Race Condition và Map-Reduce nên các bạn hãy đọc tới cuối bài nhé ;))
Mở đầu loại bài viết về Kotlin Coroutines mình sẽ giải thích khác khái niệm trong Coroutines và tương ứng với các khái niệm sẽ có thêm ví dụ. Qua đó mong bạn sẽ có kiến thức nền về Coroutines và tìm hiểu nó nhanh hơn.
In the article Introduction to the Kotlin Language, I introduced Kotlin and promised to share my experience in the process of integrating Kotlin. This is one of the articles in that series.
Ở bài Clean Code with Exception mình có hứa sẽ giải quyết vấn đề làm Exception chậm. Vì thế bài này sẽ đi vào sâu hơn việc Java sẽ làm gì khi có 1 Exception được throw ra và giải thích stack trace là gì… và từ đó sẽ tối ưu việc sử dụng Exception
Tiếp tục loạt bài về ExceptionClean Code with Exception. Bài này mình sẽ nói nói rõ hơn về try/catch và minh oan cho try/catch khi bị chê là làm cho performance của chương trình chậm lại.
Ở bài Clean Code with Exception mình có nói về cách dùng Exception để giúp code được đẹp hơn nhưng quả thật thiếu sót khi không có một ví dụ hoàn chỉnh cũng như hướng dẫn sử dụng custom Exception để giúp cho Exception rõ nghĩa và cung cấp nhiều thông tin hơn.
Không biết anh em lúc mới làm quen thế nào chứ lúc mình học Java thì cái làm mình cảm thấy khó chịu nhất là Exception. Cứ hở một chút là bắt try/catch (sẽ có một bài viết chi tiết hơn về vấn đề này) và làm cho code mình trở nên cực kỳ kinh khủng. Nhưng sau thời gian tìm hiểu thì mình nhận thấy đây là một thứ khá hay ho trong lập trình.
Hello anh em! Ở bài trước mình đã giới thiệu các bạn cách tạo một project JMH với Gradle. Bài này mình sẽ so sánh hiệu năng các cách nối chuỗi trong Java.
JMH là Java Microbenchmark Harness. JMH là công cụ giúp cho cho việc benchmark được chính xác và dễ đàng hơn.
Việc benchmark này cực kỳ có ích đối với ứng dụng cần tốc độ cao, giúp chọn ra thuật toán hay thư viện cho tốc độ tốt nhất.