Java có nhiều tính năng nổi bật, chúng được biết đến bởi 11 thuật ngữ thông dụng:

  1. Simple (Đơn giản).
  2. Object – Oriented (Hướng đối tượng).
  3.  Distributed (Phân tán).
  4.  Robust (Mạnh mẽ).
  5.  Secure (Bảo mật).
  6. Architecture – neutral (Nền tảng độc lập).
  7.  Portable (Khả chuyển).
  8.  Interpreted (Thông dịch).
  9.  High – performance (Hiệu suất cao).
  10.  Multithreaded (Đa luồng).
  11. Dynamic.

Trong bài viết này, chúng ta sẽ:

  • Tóm tắt với những trích đoạn từ “Write Paper”, những gì Java designers nói về mỗi từ thông dụng.
  • Ý nghĩa của từng thuật ngữ, dựa trên kinh nghiệm với phiên bản hiện tại của Java.

1. SIMPLE.

Ngôn ngữ Java có đặc điểm đơn giản là vì:

  1. Cú pháp Java gần với C++.(Nếu bạn đã có kiến thức về C++, bạn sẽ chuyển sang cú pháp Java 1 cách dễ dàng)
  2. Cú pháp Java clean-up so với C++, không cần đến header files, pointer arithmetic, unions, nạp chồng toán tử, virtual base classes, . . .
  3.  Bộ dọn rác tự động (garbage collection) trong java sẽ tự động xóa các đối tượng mà không được tham chiếu.

2. Hướng đối tượng.

Hướng đối tượng có nghĩa là phương pháp thiết kế và phát triển phần mềm dựa trên các loại đối tượng, dữ liệu và hành vi của chúng. Đối với một ngôn ngữ lập trình hỗ trợ OOP thì việc triển khai kĩ thuật lập trình sẽ dễ dàng hơn,  kỹ thuật lập trình hướng đối tượng cái tiến việc phát triển các hệ thống phần mềm, để cao nhân tố chức năng (functionality) và các mối quan hệ dữ liệu.

Một số khái niệm cơ bản về OOP:

  • Object
  • Class
  • Data Abstraction
  • Persistence
  • Inheritance
  • Polymorphism
  • Encapsulation

3. Phân tán.

Cơ chế kêu gọi phương thức từ xa cho phép giao tiếp giữa các đối tượng phân tán (Socket, RMI, Java servlet)

4. Mạnh mẽ.

Java sử dụng trình quản lí bộ nhớ mạnh mẽ. Java có cơ chế xử lí và kiểm tra ngoại lệ (Exception Handling ) loại bỏ những tình huống dễ bị lỗi. Sự khác biệt lớn nhất giữa Java và C / C ++ là Java có một mô hình con trỏ giúp loại bỏ khả năng ghi đè lên bộ nhớ và làm hỏng dữ liệu. Bên cạnh đó Java còn có Trình dọn rác tự động (Garbage Collection).

5. Bảo mật.

Java được xây dựng trong môi trường mạng/ phân tán. Hướng tới mục tiêu đó, vấn đề an ninh được đặt biệt nhấn mạnh, java cho phép xây dựng các hệ thống virus-free, tamper-free systems.

  • Không có con trỏ tường minh.
  • Chương trình chạy bên trong máy ảo.
  • Classloader: Thêm sự bảo mật bằng việc phân chia package cho các class của hệ thống file trên local mà từ đó chúng được import với các file từ nguồn mạng.
  • Bytecode Vertifier: Kiểm tra các đoạn code để tìm ra các phần code không hợp lệ có thể truy cập trái phép tới các đối tượng.
  • Security Manager: Quyết định xem nguồn resource nào mà một lớp có thể truy cập chẳng hạn như đọc và ghi tới local disk.

6. Nền tảng độc lập.

Trình biên dịch tạo ra một định dạng tệp đối tượng kiến trúc trung lập-mã biên dịch được thực thi trên nhiều bộ vi xử lý. Trình biên dịch Java thực hiện điều này bằng cách tạo ra các hướng dẫn bytecode không liên quan gì đến một kiến trúc máy tính cụ thể. Thay vào đó, chúng được thiết kế để dễ dàng chạy trên bất kỳ máy nào và dễ dàng dịch sang mã máy gốc.

Một ứng dụng được biên dịch trên kiến trúc phần cứng này và ứng dụng đó chạy được trên tất cả các kiến trúc phần cứng khác.

7. Khả chuyển.

Java có thể thực thi ứng dụng của nó trên tất cả các hệ điều hành và phần cứng khác nhau.

8. Thông dịch.

Thông dịch Java có thể thực hiện Java bytecodes trực tiếp trên bất kỳ máy nào mà interpreter đã chuyển.

9. Hiệu suất cao.

Hiệu suất Java nhanh hơn kể từ khi được thông dịch thành ByteCode, mã nguồn gốc thì chậm hơn so với một số ngôn ngữ biên dịch (ví dụ như C++). Các bytecode có thể được dịch ngay cả khi đang chạy (runtime) thành mã máy cho CPU cụ thể mà ứng dụng đang chạy.

10. Đa luồng.

Java là một ngôn ngữ chương trình đa luồng (multithreaded), nghĩa là chúng ta có thể phát triển chương trình đa luồng sử dụng Java. Một chương trình đa luồng chứa hai hoặc nhiều phần mà có thể chạy đồng thời và mỗi phần có thể xử lý tác vụ khác nhau tại cùng một thời điểm, để sử dụng tốt nhất các nguồn có sẵn, đặc biệt khi máy tính của bạn có nhiều CPU.

11. Dynamic. 

Trong một số cách, Java là một ngôn ngữ năng động hơn C hay C ++. Nó được thiết kế để thích nghi với môi trường đang phát triển. Các thư viện có thể tự do thêm các phương thức và biến mẫu mới mà không ảnh hưởng đến clients.

 

Advertisements