Đỉnh NGUYỄN

life's a journey not a destination


Leave a comment

Java Series–#1 – Hiện tượng công nghệ Java


Bất kỳ nơi đâu, ngườI ta cũng nóI về công nghệ Java, vậy chính xác nó là gì?. BàI viết này sẽ giảI thích công nghệ Java gồm cả 2 khía cạnh: ngôn ngữ lập trình và nền tảng (platform), cho thấy cáI nhìn tổng thể khả năng của công nghệ Java.

Về công nghệ Java

Công nghệ Java gồm cả ngôn ngữ lập trình và nền tảng (platform).

Ngôn ngữ lập trình Java

Ngôn ngữ lập trình Java là ngôn ngữ cấp cao (high-level language) có thể được mô tả bằng những từ sau:

* Đơn giản

* Kiến trúc trung tính

* Hướng đốI tượng

* Khả chuyển

* Phân tán

* Hiệu suất cao

* Đa luồng

* Mạnh

* Động

* Bảo mật

MỗI từ đều được giảI thích trong “The Java Language Environment” [1], sách trắng được viết bởI James Gosling và Henry McGilton.

[1] http://java.sun.com/docs/white/langenv/

Trong ngôn ngữ lập trình Java, tất cả mã nguồn được viết trong tập tin văn bản thuần vớI phần mở rộng .java. Các tập tin mã nguồn được biên dịch thành tập tin .class bởI trình biên dịch javac. Tập tin .class không chứa mã dành riêng cho bộ vi xử lỷ mà chứa mã bytecodes, mã của máy ảo Java (Java Virtual Machine – Java VM) [2]. Tool java sẽ chạy ứng dụng trong máy ảo Java (hình 1.1)

[2] Thuật ngữ “Java Virtual Machine” và “JVM” nghĩa là Virtual Machine for the Java platform.

Hình 1.1. Biên dịch và chạy 1 ứng dụng

image

BởI vì Java VM có sẵn trên nhiều HĐH khác nhau, cùng 1 tập tin .class có thể chạy trên Microsoft Windows, Solaris OS, Linux hoặc Mac OS. Một số máy ảo như Java HotSpot [3] thực hiện thêm 1 số bước để tăng hiệu suất ứng dụng. Các bước như tìm nút thắt hiệu suất để biên dịch lạI (thành mã máy) các đoạn mã thường dùng (hình 1.2).

[3] http://java.sun.com/javase/technology/hotspot.jsp

Hình 1.2 Thông qua Java VM, cùng 1 ứng dụng có thể chạy trên nhiều nền tảng (platform)

image

Nền tảng Java (Java Platform)

Một nền tảng (platform) là môi trường phần cứng (hardware) hoặc phần mềm (software) mà chương trình chạy. Một số nền tảng phổ biến như Microsoft Windows, Linux, Solaris OS, và Mac OS. Hầu hết các nền tảng đều là sự kết hợp của hệ điều hành và phần cứng. Java platform khác vớI các nền tảng đó, nó chỉ là nền tảng phần mềm (software-only platform) chạy trên cùng của các nền tảng dựa trên phần cứng khác.

Java platform có 2 thành phần:

* Java Virtual Machine

* Java Application Programming Interface (API)

Bạn đã được giớI thiệu về Java Virtual Machine. Nó là phần cơ bản của Java platform (hình 1.3).

Hình 1.3 API và Java Virtual Machine cách ly chương trình vớI phần cứng

image

API là tập rất lớn các thành phần phền mềm được xây dựng sẵn cung cấp nhiều khả năng hữu ích. Nó được nhóm vào các thư viện gồm những class và interface liên quan; các thư viện này được biết như là các packages. BàI kế tiếp sẽ đề cập đến các chức năng được cung cấp bởI API.

Là môi trường độc lập nền tảng, Java platform sẽ chậm hơn 1 chút so vớI mã mã máy. Tuy nhiên, sự phát triển của trình biên dịch và máy ảo đã mang hiệu suất thực thi Java gần vớI mã máy.

Công nghệ Java có thể làm được những gì?

Nhìn chung, ngôn ngữ lập trình Java cấp cao là 1 nền tảng phần mềm mạnh. Java platform có 1 số đặc tính sau:

Development Tools – các công cụ phát triển cung cấp mọI thứ cần thiết để biên dịch, chạy, giám sát, gỡ lỗI và tạo tàI liệu cho ứng dụng. VớI ngườI mớI phát triển, công cụ chính là trình biên dịch javac, trình thực thi java, và trình tạo tàI liệu javadoc.

Application Programming Interface – API cung cấp chức năng lõI của ngôn ngữ Java. Cung cấp một dãy rất rộng các lớp dựng sẵn sẵn sàng dùng trong ứng dụng. API rất lớn, để nhìn tổng quan những gì nó chứa đựng, tham khảo Java SE Development Kit documentation [4].

[4] docs/index.html

Development Technologies – JDK software cung cấp các phần mềm chuẩn như Java Web Start và Java Plugin để triển khai ứng dụng đến ngườI dùng.

User Interface Toolkits – Swing và Java 2D giúp tạo giao diện đồ họa ngườI dùng (Graphical User Interfaces – GUIs).

Integration Libraries – như Java IDL API, JDBC API, Java Naming and Directory Interface (“J.N.D.I”) API, Java RMI, và Java Remote Method Invocation over Internet Inter-ORB Protocol Technology (Java RMI-IIOP Technology) cho phép truy xuất CSDL và thao tác vớI các đốI tượng từ xa.

Công nghệ Java thay đổI cuộc đờI tôi thế nào?

Không hứa vớI bạn về sự nổI tiếng, tàI sản hay công việc nếu bạn học Java. Nó làm cho chương trình tốt hơn và yêu cầu ít công sức hơn các ngôn ngữ lập trình khác. Công nghệ Java sẽ giúp bạn:

KhởI đầu nhanh chóng – Mặc dù Java là ngôn ngữ lập trình hướng đốI tượng mạnh, nó dễ học, đặc biệt là vớI các lập trình viên đã quen vớI C/C++.

Viết ít mã – Khi so sánh các đơn vị chương trình (số class, số method,…) thì chương trình viết bằng Java nhỏ hơn 4 lần chương trình được viết bằng C++.

Phát triển chương trình nhanh hơn – Java đơn giản hơn C++, thờI gian phát triển ứng dụng cũng nhanh hơn gấp 2 lần. Chương trình cũng yêu cầu ít mã lập trình hơn.

Tránh phụ thuộc nền tảng – Giữ cho chương trình khả chuyển bằng cách tránh dùng các thư viện được viết bởI các ngôn ngữ khác.

Write one, run anywhere – BởI vì ứng dụng Java được biên dịch thành mã bytecodes độc lập nền tảng, chúng sẽ chạy trên bất kỳ HĐH nào có Java platform.

Phân phốI phần mềm dễ hơn – VớI Java Web Start, ngườI dùng chạy ứng dụng chỉ bằng 1 cáI click chuột. Phiên bản sẽ tự động được kiểm tra đảm bảo ngườI dùng luôn chạy phiên bản mớI nhất của ứng dụng.

Advertisements