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.
0 Comment to "[Java] Giới thiệu về Java."
Post a Comment