Thêm đúng một chữ 'parallel' vào 100 phần tử, và mã chạy chậm đi hai nghìn lần
Bốn phép đo JMH trên máy 16 nhân: khi nào song song thắng bảy lần, khi nào thua hai nghìn lần, và ba câu hỏi để quyết định trước khi gõ chữ parallel.
Là một lập trình viên yêu công nghệ, thích viết blog để chia sẻ kiến thức, kinh nghiệm lập trình và những điều thú vị trong thế giới tech.
Bốn phép đo JMH trên máy 16 nhân: khi nào song song thắng bảy lần, khi nào thua hai nghìn lần, và ba câu hỏi để quyết định trước khi gõ chữ parallel.
Bốn hàm của một Collector, dấu vết thật cho thấy khi nào combiner được gọi, và vì sao viết nó sai vẫn không lộ ra trong test.
Truyền struct theo giá trị như đưa người ta một bản photocopy — họ viết lên, bản gốc không suy suyển. Con trỏ là đưa địa chỉ bản gốc. Có & và *, không có số học con trỏ, và khi nào Go tự lấy địa chỉ giúp.
Auto-configuration như một người quản gia mở vali của bạn ra và bày phòng theo đồ mang tới — nhưng lùi lại ngay chỗ bạn đã tự tay sắp. Cơ chế @Conditional, cách đọc báo cáo, và ba cách can thiệp khi Boot đoán sai.
@Value là những mẩu nhãn rời ghim khắp mã, mỗi cái giữ một chuỗi thô; @ConfigurationProperties là một tờ khai có ô định sẵn kiểu, và một nhân viên từ chối ngay tại quầy nếu ô nào sai. Record có kiểu, chuyển kiểu tự động, validation lúc khởi động.
Collector con là chỗ groupingBy trở nên mạnh, gom nhóm hai tầng trong một câu lệnh, partitioningBy luôn trả đủ hai khoá, và toMap ném ngoại lệ khi khoá trùng — vì sao đó là lựa chọn đúng.