JAVA CORE - Trang 26

www.updatesofts.com

2.3.5 Ứng dụng cơ sở dữ liệu

Các ứng dụng này sử dụng JDBC API để kết nối tới cơ sở dữ liệu. Chúng có thể là Applet
hay ứng dụng, nhưng Applet bị giới hạn bởi tính bảo mật.

2.4 Máy ảo Java (JVM-Java Virtual Machine)

Máy ảo Java là trái tim của ngôn ngữ Java. Môi trường Java bao gồm năm phần tử sau:

Ngôn ngữ

Ðịnh nghĩa Bytecode

Các thư viện lớp Java/Sun

Máy ảo Java (

JVM

)

Cấu trúc của file .class

Các phần tử tạo cho Java thành công là

Ðịnh nghĩa Bytecode

Cấu trúc của file .class

Máy ảo Java (

JVM

)

Khả năng cơ động của file .class cho phép các chương trình Java viết một lần nhưng chạy
ở bất kỳ đâu. Khả năng này có được nhờ sự giúp đỡ của máy ảo Java.

2.4.1 Máy ảo Java là gì ?

Máy ảo là một phần mềm dựa trên cơ sở máy tính ảo. Nó có tập hợp các lệnh logic để xác
định các hoạt động của máy tính. Người ta có thể xem nó như một hệ điều hành thu nhỏ.
Nó thiết lập các lớp trừu tượng cho: Phần cứng bên dưới, hệ điều hành, mã đã biên dịch.
Trình biên dịch chuyển mã nguồn thành tập các lệnh của máy ảo mà không phụ thuộc vào
phần cứng cụ thể. Trình thông dịch trên mỗi máy sẽ chuyển tập lệnh này thành chương
trình thực thi. Máy ảo tạo ra một môi trường bên trong để thực thi các lệnh bằng cách:

Nạp các file .class

Quản lý bộ nhớ

Dọn “rác”

Việc không nhất quán của phần cứng làm cho máy ảo phải sử dụng ngăn xếp để lưu trữ
các thông tin sau:

Các “

Frame

” chứa các trạng thái của các phương pháp.

Các toán hạng của mã bytecode.

Các tham số truyền cho phương pháp.

Các biến cục bộ.

Khi

JVM

thực thi mã, một thanh ghi cục bộ có tên “

Program Counter” được sử dụng.

Thanh ghi này trỏ tới lệnh đang thực hiện. Khi cần thiết, có thể thay đổi nội dung thanh
ghi để đổi hướng thực thi của chương trình. Trong trường hợp thông thường thì từng lệnh
một nối tiếp nhau sẽ được thực thi.
Một khái niệm thông dụng khác trong Java là trình biên dịch “

Just In Time-JIT”. Các

trình duyệt thông dụng như Netscape hay IE đều có JIT bên trong để tăng tốc độ thực thi
chương trình Java. Mục đích chính của JIT là chuyển tập lệnh bytecode thành mã máy cụ
thể cho từng loại CPU. Các lệnh này sẽ được lưu trữ và sử dụng mỗi khi gọi đến.

2.4.2 Quản lý bộ nhớ và dọn rác

Trong C, C++ hay Pascal người lập trình sử dụng phương pháp nguyên thủy để cấp phát
và thu hồi bộ nhớ ở vùng “Heap”. Heap là vùng bộ nhớ lớn được phân chia cho tất cả các

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.