DATE & TIME• Trong Java cung cấp cho ta khá nhiều phương thức để làm việc với kiểu Date & Time • Những thư viện này nằm trong gói java.util... • Mặc định, chương trình chỉ sử dụng một lu
Trang 1NHỮNG VẤN ĐỀ TRONG
LẬP TRÌNH JAVA
Trang 2DATE & TIME
Trang 3DATE & TIME
• Trong Java cung cấp cho ta khá nhiều phương
thức để làm việc với kiểu Date & Time
• Những thư viện này nằm trong gói java.util
Trang 4DATA STRUCTURES
Trang 5DATA STRUCTURES
• Java cung cấp những kiểu cấu trúc khá mạnh
mẽ, nó bao gồm các giao tiếp và các lớp:
o Enumeration: liệt kê
o BitSet: mảng các giá trị bit
o Vector: tương tự Array và ArrayList
o Stack: ngăn xếp
o Dictionary: từ điển
o Hashtable: bảng băm
o Properties: danh sách các thuộc tính
Trang 6COLLECTION FRAMEWORK
Trang 7COLLECTION FRAMEWORK
• Java cải tiến các tính năng của Dictionary,
Vector, Stack và Properties để tạo ra các kiểu
hữu dụng sau:
o List: Danh sách, có thể là ArrayList, LinkedList,…
o Set: Tập hợp, có thể là HashSet, LinkedHashSet,
TreeSet
o Map: dạng dữ liệu gồm bao gồm 1 khóa và một giá
trị tương ứng Có thể là HashMap, TreeMap,
WeakHashMap, LinkedHashMap, IdentityHashMap
Trang 8THREAD
Trang 9• Là một luồng trong chương trình
• Mặc định, chương trình chỉ sử dụng một luồng duy nhất
• Việc sử dụng nhiều luồng được gọi là đa
luồng
• Trong Java hỗ trợ 2 phương pháp để sử dụng luồng: Runnable và lớp Thread
Trang 11• New: trạng thái bắt đầ Nó sẽ ở trạng thái này
cho đến khi ta gọi thực thi luồng
• Runnable: Trạng thái luồng được thi
• Waiting: trạng thái chờ một luồng khác thực thi
Nó sẽ quay lại runnable chỉ khi luồng khác cho
biết nó tiếp tục được thực thi.
• Timed waiting: trạng thái chờ ở một khoảng thời
gian xác định Nó sẽ quay lại trạng thái runnable
khi thời gian kết thúc.
• Terminated: trạng thái ngắt (đóng) của luồng
Trang 12• Mức độ ưu tiên trong luồng từ MIN_PRIROTY (1) đến MAX_PRIROTY (10) Mặc định là
NORM_PRIROTY (5)
• Luồng với mức độ ưu tiên cao hơn thì quan trọng hơn trong chương trình và sẽ được cấp thời gian xử lý trước với luồng thấp hơn
• Mức độ ưu tiên không thể đảm bảo thứ tự thực thi của luồng
Trang 13SN Methods with Description
Khởi động luồng, gọi phương thức run() từ đối tượng.
Thực thi đối tượng luồng.
Đổi tên luồng, lấy tên luồng dùng getName()
Đặt mức độ ưu tiên cho luồng Giá trị từ 1 đến 10.
Đặt thuộc tính on để cho biết luồng này chạy nền hay không.
Luồng hiện tại gọi phương thức này, luồng hiện tại sẽ bị chặn cho đến khi luồng thứ 2 được hoàn thành hoặc theo khoảng thời gian xác định.
Ngắ luồng
Kiểm tra luồng còn hoạt động hay không
Trang 14GENERIC
Trang 15• Generic là một kiểu đặc biệt Được sử dụng
trong khai báo và có thể là bất kỳ kiểu dữ liệu
gì mà bạn cần khi sử dụng bạn sẽ phải thay thế
• Ta thường dùng ký tự T để khai báo cho kiểu
Generic
• Có 2 cách sử dụng Generic: Class và Method
Trang 16LAMBDA EXPRESSION
Trang 17LAMBDA EXPRESSION
• Là một tính năng mới trong Java 8, giúp chúng
ta truy vấn nhanh Array, ArrayList, List,
• Rút ngắn các câu lệnh
• Dùng toán tử lambda ->
• Biểu thức bên trái -> là các tham số
• Biếu thức bên phải -> là kết quả
Trang 18• Cú pháp:
(parameters) -> expression
(parameters) -> { statements; }
Ví dụ:
() -> 5
x -> 2 * x
(x, y) -> x – y
(int x, int y) -> x + y
(String s) -> System.out.print(s)
Trang 19CÂU HỎI?