Khi viết một cái gì đó tạo ra nhiều (1000) đối tượng nhỏ thường xuyên, bạn có nên cố gắng giảm thiểu nó để thực hiện? Đặc biệt là nếu bạn không biết nó sẽ chạy trên hệ thống nào, từ máy tính để bàn thấp đến cao cấp hoặc thậm chí là điện thoại di động. Đối với thiết bị di động, tôi nghe nói rằng việc tạo ra nhiều đối tượng cản trở hiệu suất một chút, mặc dù tôi không biết điều đó đúng như thế nào.
Tôi có một ví dụ cho thấy ý tưởng này tốt. Trong một chương trình đồ họa, giả sử có một phương thức được sử dụng cho tất cả các bản vẽ được gọi một cách lý tưởng drawPixel(Point)
. Có thể có 1000 Điểm được tạo ra và nó có thể được lặp lại thường xuyên, giống như trong một trò chơi mà nó có thể được gọi hơn 60 lần một giây. Ngoài ra, drawPixel(int x, int y)
có thể được sử dụng để giảm thiểu việc tạo ra nhiều đối tượng Điểm.
Trong một thiết kế hướng đối tượng, tôi nghĩ rằng việc sử dụng Point sẽ được ưu tiên hơn. Tuy nhiên, sử dụng các loại nguyên thủy có thể làm tăng hiệu suất. Hiệu suất đạt được có thể không đáng kể trong hầu hết các trường hợp, nhưng tôi không chắc về những thứ như máy di động hoặc máy cũ. Hiệu suất đạt được từ việc làm một cái gì đó như thế này và nó có phải là điều cần được xem xét?
System.getProperty("java.version")
(hoặc "java.vm.version") là điểm bắt đầu.