Thông tin tài liệu:
Chương này trình bày các khái niệm căn bản về ngôn ngữ lập trình Java. Giới thiệu lịch sử phát triển và cấu trúc của máy ảo Java. Những đặc trưng đã tạo nên sức mạnh của ngôn ngữ Java cũng được giới thiệu trong chương này. Cũng trong chương này chúng ta sẽ đi vào tìm hiểu cách cấu hình và cài đặt môi trường biên dịch, chạy và soạn thảo ngôn ngữ Java. Tiếp đến ta sẽ đi vào tìm hiểu các thành phần cơ bản của Java như kiểu dữ liệu, cấu trúc lệnh tuần tự rẽ nhánh, lặp, và nhảy.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình mạng với Java - Chương 2: Giới thiệu ngôn ngữ lập trình Java
Chương 2
Giới thiệu ngôn ngữ lập trình Java
1. Giới thiệu công nghệ Java
1.1 Lịch sử phát triển
Lịch sử phát triển của Java bắt đầu năm 1991 khi SUN tiến hành các dự án lập trình cho
vi xử lý dùng trong các thiết bị điện tử khác nhau. C++ không đáp ứng được các yêu
cầu này vì C++ cho đem mã nguồn từ máy này sang máy khác nhưng sau khi biên dịch
lại hoàn toàn phụ thuộc vào từng bộ vi xử lý cụ thể. Trong khi đó bộ vi xử lý dùng trong
các thiết bị điện tử rất đa dạng và có vòng đời khá ngắn ngủi. Nếu ta thay đổi bộ xử lý
dẫn đến cần phải thay đổi trình biên dịch C++, điều này gây lên tốn kém. SUN đã thiết
kế một ngôn ngữ lập trình mới có tính khả chuyển cao hơn đó chính là Java. Java là tên
địa phương nơi xuất xứ của một loại cà phê ngon nổi tiếng.
Java được chính thức công bố năm 1995 và ngay lập tức đã tạo lên một trào lưu
mới trên toàn thế giới và từ đó đến nay vẫn tạo được sức cuốn hút mạnh mẽ. Bởi vì
Java không chỉ đơn thuần là một ngôn ngữ lập trình mà nó là giải pháp cho nhiều vấn
đề.
1.2. Cấu trúc của máy ảo Java (Java Virtual Machine)
Chương trình ứng dụng hoạt động bằng cách sử dụng các đối tượng của Java (Java
Object). Máy ảo Java tạo thành một cầu nối giữa trình ứng dụng viết bằng Java và hệ
điều hành.
Chương trình Java: tập hợp các đối tượng
Máy ảo Java
Hệ điều hành
Máy ảo Java bao gồm các thành phần sau :
• Trình nạp lớp (Class Loader): đọc bytecode từ đĩa hoặc từ kết nối mạng.
• Trình kiểm tra lớp (Class Verifier): Kiểm tra các lớp sẽ không sinh ra các lỗi ảnh
hưởng tới hệ thống khi thực thi.
• Trình thực thi (Execution Unit): sẽ thực hiện các lệnh được quy định trong từng
bytecode.
Trong bộ công cụ Java, tệp tin java.exe chính là máy ảo Java.
1.3 Các đặc trưng của Java
• Java là một môi trường độc lập (Independent Platform)
Do cấu trúc của Java nên ta có thể soạn thảo chương trình trên bất kỳ hệ thống nào.
Sau khi đã được biên dịch thành tệp tin lớp (*.class) ứng dụng có thể thực thi ở bất kỳ
hệ thống nào. Đó là đặc tính mà các ngôn ngữ khác không có.
http://www.ebook.edu.vn 1
• Java là một ngôn ngữ lập trình hướng đối tượng thuần túy (Pure Object
Oriented Programming)
Java là một ngôn ngữ lập trình hướng đối tượng thuần túy, mọi thứ trong Java đều là
đối tượng.
• Java là một ngôn ngữ có tính khả chuyển (Portibility)
Java có tính khả chuyển đối với cả mã nguồn và bản thân mã biên dịch (bytecode)
• Java là môi trường xử lý phân tán (Distributed Enviroments)
Bytecode không phụ thuộc vào hệ thống vì vậy bytecode có thể nằm phân tán trên
mạng. Việc liên kết với thư viện chỉ được thực hiện vào lúc chạy chương trình do vậy
mã byte thường gọn nhẹ. Chương trình Java được nạp dần một cách linh hoạt nên
không gây quá tải cho mạng. Ngoài ra, Java còn cho phép xử lý đa tuyến đoạn. Cơ chế
truyền thông điệp thuận tiện cho việc tổ chức mạng.
• Java là môi trường an toàn
Khi phát triển các ứng dụng phân tán thì một trong nhừng vấn đề được quan tâm hàng
đầu là an toàn hệ thống. Java được thiết kế để đảm bảo an toàn cho người dùng Java
trên mạng. Java có bốn tầng bảo an:
Tầng 1: Mức ngôn ngữ và trình biên dịch. Java không có kiểu con trỏ. Trình biên dịch
kiểm tra kiểu rất chặt chẽ. Mọi chuyển đổi kiểu đều phải được thực hiện một cách tường
minh. Trình biên dịch Java từ chối sinh ra mã byte nếu mã nguồn không tuân thủ
nghiêm ngặt các quy tắc an toàn.
Tầng 2: Trình nạp lớp (Class Loader) Có khả năng phân biệt những lớp đến từ mạng và
những lớp nạp từ hệ thống. Nhờ khả năng phân biệt như vậy lớp được nạp qua mạng
được khống chế chặt chẽ, không được phép thực hiện các thao tác mức thấp.
Tầng 3: Trình kiểm tra mã byte. Trình này sẽ kiểm tra mã byte vào lúc chạy chương
trình bảo đảm chương trình Java đã được biên dịch một cách đúng đắn. Khi thực hiện
sẽ không gây lỗi ảnh hưởng tới hệ thống cũng như không đụng chạm tới dữ liệu riêng
tư trên máy khách.
Tầng 4: Trình bảo an. Kiểm tra mã byte vào lúc chạy nhằm bảo đảm mã đang xét không
vi phạm qui tắc an toàn đã được thiết lập. Các thao tác của ứng dụng được xem là có
khả năng gây nguy hiểm như đọc, xóa tệp đều phải được Trình bảo an cho phép.
• Java cung cấp cho người lập trình một thư viện khủng lồ
Java cung cấp cho người lập trình một thư viện khổng lồ các hàm chuẩn, gọi là core
API. Các hàm chuẩn này được đặt trong các gói.
• Java có cơ chế quản lý bộ nhớ tự động
Quản lý bộ nhớ là một trong những vấn đề phức tạp đối với C và C++. Khi thực hiện
chương trình người lập trình chịu trách nhiệm khởi tạo các vùng nhớ, sau khi dùng phải
giải phóng các vùng nhớ này. Chỉ cần một lỗi nhỏ có thể làm cạn kiệt tài nguyên dẫn
đến treo hệ thống.
Java đã loại bỏ gánh nặng này cho người lập trình. Các vùng nhớ được tự động giải
phóng nếu như nó không tham chiếu đến bất kỳ đối tượng nào đang hoạt động
• Chi phí phát triển ứng dụng bằng Java thấp
http://www.ebook.edu.vn 2
Khi phát triển ứng dụng dựa trên công nghệ Java thì sẽ có rất nhiều công cụ phát triển
và dịch vụ được cung cấp miễn phí.
1.4. Các ấn bản Java
• J2SE ( Java 2 Platform, Second Edition)
Đây là ấn bản chuẩn, bao gồm một môi trường thời gian chạy và một tập hợp các API
để xây dựng một loạt các ứng dụng khác nhau từ applet, cho tới các ứng dụng độc lập
chạy trên các nền khác nhau, ứng dụng cho client cho các ứng dụng doanh nghiệp khác
nhau.
• J2EE (Java 2 Platform, Enterprise Edition (J2EE)
J2EE là nền tảng để xây dựng các ứng dụng phía server.
• J2ME (Java 2 Platform, Micro Edition )
Ấn bản này cho phép xây dựng các ứng dụng Java cho các “vi thiết bị” (các thiết bị có
màn hình hiển thị và hỗ trợ bộ nhớ tối thiểu, như điện thoại di động và các thi ...