- I/O Mạng
I.3.2. Sự khâc nhau giữa J2ME vă J2SE
Câc điểm khâc nhau lă do một trong hai lý do. Do lớp Java đê bị bỏ đi để giảm kích thước của J2ME hoặc do lớp bị bỏ bởi vì nó ảnh hưởng đến sự an toăn, bảo mật của thiết bị di động hay của câc ứng dụng khâc trín thiết bị di động (có thể dẫn đến phât triển virus).
Điểm khâc biệt chính lă không có phĩp toân số thực. Không có JNI (JavaNative Interface Support) do đó bạn không thể truy xuất câc chương trình khâc được viết bằng ngôn ngữ của thiết bị (như C hay C++). Tuyến đoạn (thread) được cho phĩp nhưng không có câc nhóm tuyến đoạn (thread group) vă câc daemon thread.
CLDC định nghĩa một mô hình an toăn, bảo mật được thiết kế để bảo vệ thiết bị di động, KVM, vă câc ứng dụng khâc khỏi câc mê phâ hoại. Hai bộ phận được định nghĩa bởi CLDC năy lă bộ tiền kiểm tra vă mô hình sandbox.
Hình sau biểu diễn câch mă bộ tiền kiểm tra vă bộ kiểm tra lăm việc với nhau để kiểm tra mê chương trình Java trước khi chuyển nó cho KVM.
Figure 8: Bộ tiền kiểmt tra
Như đê đề cập trước đđy, câc tập tin lớp được gân nhên bằng một thuộc tính trín mây trạm của nhă phât triển. Thuộc tính năy sau đó được kiểm tra bởi bộ tiền kiểm tra trước khi mê chương trình được giao cho KVM hay bộ biín dịch mê bytecode.
Một bộ phận khâc của bảo mật trong CLDe lă mô hình sandbox. Hình sau biểu diễn khâi niệm mô hình sandbox:
Figure 9: Mô hình sandbox
Hình trín cho thấy ứng dụng J2ME đặt trong một sandbox có nghĩa lă nó bị giới hạn truy xuất đến tăi nguyín của thiết bị vă không được truy xuất đến mây ảo Java hay bộ nạp chương
trình. Ứng dụng được truy xuất đến câc API của CLDC vă MIDP. Ứng dụng được truy xuất tăi nguyín của thiết bị di động (câc cổng, đm thanh, bộ rung, câc bâo hiệu, …) chỉ khi nhă sản xuất điện thoại di động cung cấp câc API tương ứng. Tuy nhiín, câc API năy không phải lă một phần của J2ME.
Thế hệ kế tiếp của CLDC lă đặc tả JSR – 139 vă được gọi lă CLDC thế hệ kế tiếp (Next Generation). Nó sẽ nhắm đến câc vấn đề như nđng cao việc quản lý lỗi vă có thể phĩp toân số thực.