Tối ưu hóa mã trong Java
Pavlos Kosmetatos
Lead Engineer @Wealthyhood
Quản lý bộ nhớ thủ công (C/C++)
$$
Garbage Collection của Java

Đánh đổi hiệu năng của GC
$$
Thuật toán GC
// Tệ - Tạo nhiều đối tượng sống ngắn for (int i = 0; i < 1000000; i++) { new Object(); // Thành rác ngay }// vs. Tái sử dụng đối tượng Object obj; for (int i = 0; i < 1000000; i++) { obj = new Object(); // Chỉ một tham chiếu }
// Tránh trong mã cần hiệu năng cao String result = ""; for (int i = 0; i < 100000; i++) { result += i; // Mỗi lần tạo một String mới }// Cách tốt hơn StringBuilder builder = new StringBuilder(); for (int i = 0; i < 100000; i++) { builder.append(i); // Tái sử dụng cùng bộ đệm } String result = builder.toString();
// Nhánh dễ đoán giúp JIT tối ưu hóa
if (value > 0) {
// Mã A - nhánh thường gặp
} else {
// Mã B - nhánh hiếm gặp
}
Tối ưu hóa mã trong Java