Thông tin tài liệu:
Bài giảng Công nghệ Java: Chương 1 cung cấp cho người học các kiến thức: Lịch sử của Java, những đặc điểm cơ bản của Java, máy ảo Java- JVM, môi trường lập trình Java, chương trình Java đầu tiên,...
Nội dung trích xuất từ tài liệu:
Bài giảng Công nghệ Java: Chương 1 - Trần Quang Diệu CÔNG NGHỆ JAVA CH1. TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA Quang Dieu Tran PhD03/06/18 1Nội dung1- Lịch sử của Java2- Những đặc điểm cơ bản của Java3- Máy ảo Java- JVM4- Môi trường lập trình Java5- Chương trình Java đầu tiên7- Tóm tắt8- Trắc nghiệm và bài tập03/06/18 2Lịch sử các ngôn ngữ lập trình03/06/18 http://lenhattung.com 3Lịch sử phát triển Java• Phát triển từ ngôn ngữ Oak• Được công ty Sun Microsystems đặt tên là Java từ năm 1996• Oracle mua lại và tiếp tục phát triển từ năm 2010• Java là một trong những ngôn ngữ lập trình hướng đối tượng rất phổ biến hiện nay03/06/18 4Lịch sử phát triển Java03/06/18 5Đặc tính• Đơn giản( simple)• Hướng đối tượng (OO)• Phân tán (Distributed)• Mạnh (Robust)• Bảo mật (Secure)• Hiệu suất cao (high performance)• Đa luồng (multithreading)• Linh động (dynamic)03/06/18 6Đặc tính• Tính khả chuyển, tương thích (Portability)03/06/18 7Đặc tính• Thực thi dạng thông dịch: (Interpretive execution), chỉ dịch sang lệnh máy lúc thực thi. Chương trình độc lập platform Write Once Run Anywhere (WORA)03/06/18 8Đặc tính• Tính khả chuyển, tương thích (Portability)03/06/18 9Các thành phần chính• 5 thành phần của môi trường Java (1) Java language (2) Bytecode definitions (3) Java/ Sun Class libraries (4) The Java Virtual Machine (5) The structure of .class file03/06/18 10Java Virtual Machine • Là một phần mềm giả lập một máy tính trong đó: có tập lệnh định nghĩa các tác vụ03/06/18 11Java Virtual Machine • JVM tạo ra 1 hệ thực thi phụ thuộc platform bao gồm các tác vụ: (1) Nạp .class file (2) Quản lý bộ nhớ (3) Thực thi gom rác03/06/18 12Java Runtime Environment• Môi trường run-time của Java: – Cung cấp các Java API – Máy ảo Java – JVM – Các thư viện• Hai giai đoạn của 1 chương trình Java: – Compile-time – Run-time03/06/18 13Java Runtime Environment• Giai đoạn 1: Compile-time – Viết và biên dịch chương trình Begin Javasourcecode(*.java) Biêndịchbằng javac .classfile End03/06/18 14Java Runtime Environment -Giai đoạn 2: Run-time .class Nhờclass Begin Loader,kiểmtra file antoàn Net Nạp.class work file Nhờchứcnăng bytecodeverifier, Kiểmtrabytecode kiểmtracode formatvàquyền truyxuất Interprete JITcode r Generator Runtimecode Hardware End 03/06/18 15 Trình gom rác- Garbage Collection• Heap: Vùng nhớ chia sẽ thông tin giữa các qúa trình. Với C, C++, Pascal, programmer phải tự quản lý vùng nhớ cấp phát động này bằng các hàm cơ bản.• Cơ chế quản lý heap Heap được quản lý bằng 2 danh sách: Free block list và Allocated Block List. - Cách cấp phát: “first-fit block” - Khi khối bộ nhớ được yêu cầu lớn hơn khả năng của các khối tự do: Compaction - dồn vùng nhớ để tạo ra vùng lớn hơn.• Heap trong Java : 2 heap heap cấp phát tĩnh và heap cấp phát động. 03/06/18 16 Cơ chế gom rácCơ chế cấp bộ nhớ1/ Nhận yêu cầu cấp bộ nhớ2/ if (Free-Block list đủ) cấp bộ nhớ cho yêu cầu (First-fit)3/ else if (máy rảnh) thực thi gom rác4/ else ứng dụng phải gọi tường minh tác vụ gom rác: System.gc(); Trình gom rác được ấn định độ ưu tiên rất thấp Gọi tường minh có ý nghĩa chấp nhận ứng dụng này tạm dừng để chờ gom rác.Cơ chế gom rác ( chỉ gom rác ở Dynamic heap)1/ Xem đối tượng nào không có entry trong section2 Không còn dùng đối tượng này nữa.2/ Garbage Collector sẽ gọi method finalize() để thu tài nguyên của đối tượng (file, stream kết hợp, bộ nhớ) 03/06/18 17Java Devel ...