C H HƯ ƯƠ ƠN N GG
a. Các tính chất cơ bản:
- Đơn giản(simple) :Cú pháp của java thực ra giống cú pháp của C++ trong các phiên bản mới đây. Mặc dù java khơng phải là ngơn ngữ được ưa chuộng nhất hiện nay nhưng trong thời điểm này java là ngơn ngữ hay hơn cả. Một điểm khác nữa là java rất nhỏ, nĩ cĩ thể tạo ra những phần mềm chạy
độc lập trên các máy tính nhỏ kích thước bộ biên dịch và các lớp thư viện của nĩ chỉ cĩ 40K.
- Hướng đối tượng(Ọbect oriented): mọi ứng dụng của java điều phải
được xây dựng trên các đối tượng. mỗi lớp cĩ nhiều phương thức(method) và vùng(field). Phương thức là những chức năng mà đối tượng dùng để trả lời các tác động lên đối tượng.
- Phân tán(distributed): Java được thiết kếđể hỗ trợ các ứng dụng phân tán bằng các lớp mạng(java net). Ví dụ như lớp URL của java cĩ thể truy xuất dễ dàng đến máy chủ ở xa, nĩ cĩ thể mở hoặc truy cập đến các đối tượng thơng qua mạng dễ dàng như một lập trình viên đang sử dụng ngay trên máy của mình.
- kiểu tỉnh(statically typed): tất cả các đối tượng được sử dụng trong chương trình phải được khai báo trước khi sử dụng. Điều này giúp cho trình biên dịch java cĩ thể xác định và báo cáo các xung đột.
- Biên dịch(Compiled): trước khi chúng ta chạy một chương trình bằng java thì chương trình này phải được dịch lại bằng một trình dịch java(máy ảo java) kết quả sẽ đưa ra một file “bye-code” tương đương với một file mã máy, cĩ thể thực hiện được trong bất kỳ hệ điều hành nào mà cĩ trình thơng dịch
java(JVM). Trình thơng dịch này đọc file “bye-code” và dịch các lệnh “bye- code” sang ngơn ngữ máy.
- Thơng dịch(Interpreter): java là một ngơn ngữ thơng dịch( thật ra nĩ là ngơn ngữ vừa thơng dịch vừa biên dịch) nên nĩ trở nên khá khả chuyển. các
ứng dụng java dễ dàng chạy trên các máy tính với các nền phần cứng khác nhau như Macintosh, Intel, Sun, Alpha,… chỉ cần đi kèm với các ứng dụng đĩ là trình thơng dịch, bộ gỡ rối và nhất là bộ thư viện thời gian động(runtime library).
- Mở rộng(Extensible): các chương trình java hỗ trợ các hệ thống riêng mà các hàm được viết bằng một ngơn ngữ khác thường là C++,Visual Basic. Hỗ trợ cho các hệ thống riêng giúp cho người lập trình viết các hàm mà cĩ thể
thực hiện nhanh hơn các hàm tương đương viết bằng java. Các hệ thống riêng này được liên kết động với chương trình java. Khi java được cải thiện về
tốc độ thì các hệ thống riêng này sẽ khơng cần thiết nữa.
- Mạnh mẽ(robust): giúp cho lập trình viên tạo nên những chương trình chắc chắn, khơng phạm nhiều vào những lỗi khi chạy(runtime error). Java khơng cho phép các lập trình viên khai báo các biến một cách tuỳ tiện mà các biến này phải tường minh. Ngay cả kiểu dãy cũng khơng phải là một con trỏ
trong C mà là một kiểu thực. Nhờ đĩ mà những lỗi thường gặp như cấp phát bộ nhớ, bộ nhớ tràng, trùng lắp bộ nhớ,.. đã được java giải quyết triệt để.
- An Tồn(Secure): hệ thống java khơng gì kiểm tra mọi sự truy cập bộ
nhớ mà cịn đảm bảo khơng cĩ virus nào làm ngưng một applet đang chạy. - Bảo mật(Sercurity): Java được viết cho các ứng dụng chạy trên mơi trường phân tán do đĩ java phải được thiết kết trên một hệ thống khơng virus, khơng bị phá rối, khơng biến con trỏ. Bộ thơng dịch luơn kiểm tra chặt chẽ các mã byte.
- Khả chuyển: Do tạo được các máy ảo java tương thích với mơi trường
được cài đặt sẽ tạo nên kiến trúc trung tính trong java, các ứng dụng java viết sao cho chạy được trong máy ảo java. Mặt khác, các kiểu dữ liệu của java
được định nghĩa khơng phụ thuộc vào bộ xử lý hay hệ điều hành mà các ứng dụng cài đặt.
- Hiệu quả cao: rõ ràng so với chương trình được biên dịch hồn tồn bằng C hay C++ các chương trình java khơng cĩ hiệu quả cao hơn. Nhưng với tính năng giao diện đồ hoạ, sự đơn giản, nhỏ gọn từ đĩ ta cĩ thể nĩi là hiệu quả chung của các ứng dụng java là đáng khích lệ so với tính phức tạp của C/C++.
- Đa tuyến: Tính năng này cho phép chúng ta cĩ thể thực hiện nhiều tiến trình song và tương hỗ lẫn nhau tránh được tính tuần tự nhàm chán và những thời gian chết trong chờđợi.