Java là một ngôn ngữ lập trình được Sun Microsystems giới thiệu vào tháng 6 năm 1995. Nó được xây dựng trên nền tảng của C và C++ nghĩa là Java sử dụng cú pháp của C và đặc trưng hướng đối tượng của C++. Java là ngôn ngữ vừa biên dịch vừa thông dịch.
Một số đặc trưng của Java:
Đơn giản: Những người thiết kế Java mong muốn phát triển một ngôn ngữ dễ học và quen thuộc với đa số lập trình viên. Java loại bỏ các phức tạp của C và C++.
- Loại bỏ con trỏ, thao tác định nghĩa chồng toán tử (operator overloading)...
- Không cho phép đa thừa kế (multi-inheritance) mà sử dụng các giao diện (interface).
- Không sử dụng lệnh goto cũng như file header (.h).
- Loại bỏ cấu trúc "struct" và "union".
Hướng đối tượng: Java là ngôn ngữ hoàn toàn hướng đối tượng. Mọi thực thể trong hệ thống đều coi là một đối tượng, nghĩa là một thể hiện cụ thể của một lớp xác định. Tất cả các chương trình đều nằm trong một lớp (class) nhất định. Và hơn thế nữa Java không cho phép định nghĩa dữ liệu và hàm tự do trong trương trình.
Độc lập phần cứng và hệ điều hành:
- Các chương trình viết bằng java có thểchạy trên hầu hết các hệnền mà không cần phải thay đổi gì, điều này đã được những người lập trình đặt cho nó một khẩu hiệu ‘viết một lần, chạy mọi nơi’, điều này là không thể có với các ngôn ngữ lập trình khác.
- Đối với các ngôn ngữ lập trình như C & C++ với mỗi nền phần cứng khác nhau thì sẽ có một trinh biên dịch khác nhau để biên dịch mã nguồn chương trình cho phù hợp với nền phần cứng. Do đó, khi chạy trên nền khác thì phải biên dịch lại mã nguồn.
- Đối với chương trình viết bằng Java, trình biên dịch Javac sẽ biên dịch mã nguồn thành dạng bytecode. Sau đó khi chạy chương trình trên các nền phần cứng khác nhau, máy ảo Java dùng trình thông dịch Java để chuyển mã bytecode thành dạng chạy được trên các nền phần cứng tương ứng.
Mạnh mẽ:
- Kiểu dữ liệu phải được khai báo tường minh.
- Không sử dụng con trỏ và phép tính con trỏ.
- Kiểm tra việc nhập đến mảng, chuỗi khi thực thi để đảm bảo rằng các truy nhập đó không ra ngoài giới hạn kích thước mảng.
- Quá trình cấp phát và giải phóng bộ nhớ cho biến được thực hiện tự động nhờ vào dịch vụ thu gom những đối tượng không còn sử dụng nữa (gabage collection).
- Cơ chế bẫy lỗi của Java giúp đơn giản hóa quá trình xử lý lỗi và phục hồi sau lỗi.
Bảo mật:
- Ở mức thứ I: Dữ liệu và các phương thức được đóng gói bên trong lớp. Chúng chỉ được truy xuất thông qua các giao diện mà lớp cung cấp.
- Ở mức thứ II: Trình biên dịch kiểm soát để đảm bảo mã là an toàn và tuân theo các nguyên tắc của Java.
- Ở mức thứ III: Được đảm bảo bởi trình thông dịch. Chúng kiểm tra xem bytecode có đảm bảo an toàn trước thực thi hay không.
- Ở mức thứ IV: Kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống.
Phân tán: Java hỗ trợ đầy đủ các mô hình tính toán phân tán như: client/server, RMI...
Hỗ trợ lập trình đa tuyến: Java cung cấp giải pháp lập trình đa luồng (Multi-Threading ) để thực thi công việc cùng lúc và đồng bộ giữa các luồng.
..............................................................
Tài liệu tham khảo: Lập Trình Hướng Đối Tượng
PGS.TS. Trần Đình Quế.
KS. Nguyễn Mạnh Hùng.

Comments
Post a Comment