Saturday, August 22, 2015

[Java] Giới thiệu về Java.

Giới thiệu về Java 
1.  Java
Năm 1991, một nhóm kỹ sư của Sun Microsystems muốn lập trình để điều khiển các thiết bị điện tử tivi, máy giặt, lò nướng… Ban đầu, họ định dùng C và C++ nhưng trình biên dịch C/C++ lại phụ thuộc vào từng loại CPU. Do đó, họ đã bắt tay vào xây dựng một ngôn ngữ chạy nhanh, gọn, hiệu quả, độc lập thiết bị và ngôn ngữ“Oak” ra đời và vào năm 1995, sau đó được đổi tên thành Java.
Ngôn ngữ lập trình Java được Sun Microsystems đưa ra giới thiệu vào tháng 6 năm 1995 và đã nhanh chóng trở thành một ngôn ngữ lập trình của các lập trình viên chuyên nghiệp. Java được xây dựng dựa 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. Đầu tiên mã nguồn được biên dịch thành dạng byte code. Sau đó được thực thi trên từng loại máy nhờ trình thông dịch. Mục tiêu của các nhà thiết kế Java là cho phép người lập trình viết chương trình một lần nhưng có thể chạy trên các nền phần cứng khác nhau. Ngày nay, Java được sử dụng rộng rãi, không chỉ để viết  các ứng dụng trên máy cục bộ hay trên mạng mà còn để xây dựng các trình điều khiển thiết bị di động, PDA, …
2.  Đặc trưng của Java.
Ngôn ngữ Java có những đặc trưng cơ bản sau:
  Đơn giản
  Hướng đối tượng
  Độc lập phần cứng và hệ điều hành
  Mạnh mẽ
  Bảo mật
  Phân tán
  Đa luồng
  Linh động
Đơn giản
Những người thiết kế mong muốn phát triển một ngôn ngữ dễ đọc và quen thuộc với đa số người lập trình. Do vậy Java loại bỏ các đặc trưng phức tạp của C và C++ như:
  Loại bỏ thao tác con trỏ, thao tác định nghĩa chồng toán tử(operator overloading)…
  Không cho phép đa kế thừa(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ữ lập trình hoàn toàn hướng đối tượng:
  Mọi thực thể trong hệ thống đều được coi là một đối tượng, tức 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 phải nằm trong một class nhất định.
  Không thể dùng Java để viết một chức năng mà không thuộc vào bất kì một lớp nào. Tức là Java không cho phép định nghĩa dữ liệu và hàm tự do trong chương trình. Độc lập phần cứng và hệ điều hành. Đối với các ngôn ngữ lập trình truyền thống như C/C++. Với mỗi một nền phần cứng khác nhau, có một trình 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 ấy. Do vậy, khi chạy trên một nền phần cứng khác, bắt buộc phải biên dịch lại mà nguồn.
Đối các 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 byte code. 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. Do vậy, khi thay đổi nền phần cứng, không phải biên dịch lại mã nguồn Java.
Mạnh mẽ
Java là ngôn ngữ yêu cầu chặt chặt chẽ về kiểu dữ liệu:
  Kiểu dữ liệu phải được khai báo tường minh.
  Java không sử dụng con trỏ vào các phép toán con trỏ.
  Java kiểm tra việc truy 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, giải phóng bộ nhớ trong biến được thực hiện tự động, nhừ dịch vụ thu nhặt những đối tượng không còn sử dụng nữa (garbage 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à hồi phục sau lỗi.
Bảo mật
Java cung cấp một môi trường quản lý thực thi chương trình với nhiều mức để kiểm soát tính an toàn:
  Ở mức thứ nhất, 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ứ hai, 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ứ ba được đảm bảo bởi trình thông dịch. Chúng kiểm tra xem byte code có đảm bảo các qui tắc an toàn trước khi thực thi.
  Mức thứ tư 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 được thiết kế để hỗ trợ các ứng dụng chạy trên mạng bằng các lớp Mạng (java.net). Hơn nữa, Java hỗ trợ nhiều nền chạy khác nhau nên chúng được sử dụng rộng rãi như là công cụ phát triển trên Internet, nơi sử dụng nhiều nền khác nhau
Đa luồng
Chương trình Java cung cấp giải pháp đa luồng (Multithreading) đẻ thực thi các công việc cùng đồng thời và đồng bộ giữa các luồng.
Linh động
Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường mở. Các chương trình Java chứa rất nhiều thông tin thực thi nhằm kiểm soát và truy nhập đối tượng lúc chạy. Điều này cho phép khả năng liên kết động.


Cám ơn bạn đã đọc bài viết này. Hãy chia sẻ bài viết và bình luận ý kiến của bạn ở bên dưới.

Share this

Chào mừng bạn đến với SimpleCodeCJava Blog - Mục đích của chúng tôi khi thành lập blog này là muốn chia sẻ những kiến thức và kinh nghiệm lập trình mà chúng tôi đã học được với mong muốn giúp đỡ mọi người, giúp bạn rút ngắn được thời gian tìm hiểu cũng như việc giải quyết những vấn đề trong lập trình C và Java.

0 Comment to "[Java] Giới thiệu về Java."