- Sử dụng càng ít đối tượng càng tốt và chỉ cấp phát bộ nhớ khi cần thiết.
- Đối với các đối tượng không còn cần được sử dụng nữa, nên gán cho chúng giá trị null để giúp garbage collector nhận diện được vùng nhớ không còn được sử
dụng nữa để thu hồi.
- Bộ nhớ của các thiết bị di động rất hạn chế, do vậy, trong thiết kế chương trình, chúng ta nên tránh việc xây dựng các hàm có nhu cầu được cấp phát khối lượng bộ nhớ lớn.
- Trong J2ME, việc thu hồi bộ nhớ không còn được sử dụng được thực hiện thông qua garbage collector. Tuy nhiên, khi nào việc thu dọn này được thực hiện là do người lập trình tự quyết định. Mặt khác, việc thực thi hàm thu hồi bộ nhớ
giải phóng bộ nhớ nếu không cần sử dụng nữa và chỉ nên gọi chức năng thu hồi bộ
nhớ khi cần thiết.
- Trong ngôn ngữ Java, chúng ta có thể nối nhiều chuỗi ký tự chỉ đơn giản bằng cách thực hiện toán tử “+” như ví dụ sau :
public String indent (String line, int spaces) {
String strOut = “”;
for (int i=0;i<spaces;i++) { strOut += “ ”; } return strOut; }
Tuy nhiên, xét về hiệu suất hoạt động, cách làm như vậy sẽ không tốt bởi vì mỗi khi thực hiện việc nối 2 chuỗi ký tự (kiểu String), Java sẽ tạo một đối tượng kiểu StringBuffer, sau đó gọi thực hiện phương thức append của đối tượng này 2 lần để nối 2 chuỗi ký tự lại và cuối cùng, thực hiện phương thức toString() để tạo
đối tượng kiểu String rồi trả về kết quả. Nếu việc nối chuỗi được thực hiện nhiều lần, đặc biệt là trong một vòng lặp sẽ dẫn đến việc tạo rất nhiều đối tượng kiểu String và StringBuffer. Kết quả là khiến cho chương trình sử dụng và tạo nhiều rác trong bộ nhớ, mặt khác sẽ làm tăng thời gian xử lý của chương trình do phải mất nhiều thời gian khởi tạo các đối tượng. Cải tiến đoạn chương trình trên như sau :
public String indent (String line, int spaces) {
StringBuffer out = new StringBuffer(); for (int i=0;i<spaces;i++)
{
out.append(‘ ’); }
return out.toString(); }
Chương 6 : THỬ NGHIỆM – HƯỚNG DẪN CÀI ĐẶT VÀ SỬ DỤNG
6.1. Cách cài đặt chương trình trên máy ảo :
Quá trình thử nghiệm được thực hiện trên 4 loại máy ảo : máy ảo chuẩn của
Sun, máy ảo Nokia, Sony Ericsson, Samsung và Siemens (xem giới thiệu về các
máy ảo này trong phần phụ lục B).