Câu hỏi phỏng vấn Java
Câu hỏi

So sánh biến volatile và biến static trong Java?

Câu trả lời

Trong Java, cả volatilestatic đều là từ khóa được sử dụng trong việc khai báo biến, nhưng chúng phục vụ cho các mục đích khác nhau và có những đặc điểm riêng biệt.

Biến Volatile

  • Mục Đích: Từ khóa volatile được sử dụng để chỉ ra rằng giá trị của một biến có thể được thay đổi bởi các luồng khác nhau đang thực thi đồng thời. Sử dụng volatile đảm bảo rằng giá trị của biến luôn được đọc từ bộ nhớ chính, và không được lưu trữ cục bộ trong bộ nhớ cache của CPU cho mỗi luồng.
  • Đặc Điểm: Khi một biến được khai báo là volatile, trình biên dịch và máy ảo Java (JVM) được thông báo rằng biến này có thể bị thay đổi bất ngờ, giúp đảm bảo tính nhất quán và hiển thị của giá trị biến giữa các luồng.
  • Sử Dụng: volatile thường được sử dụng trong các tình huống mà một biến được chia sẻ giữa các luồng và bạn muốn đảm bảo rằng mọi thay đổi đối với biến đều được các luồng khác nhận biết một cách ngay lập tức.

Biến Static

  • Mục Đích: Từ khóa static được sử dụng để chỉ ra rằng một biến thuộc về lớp chứ không phải là một thể hiện cụ thể của lớp. Điều này có nghĩa là tất cả các thể hiện của lớp đều chia sẻ cùng một bản sao của biến static.
  • Đặc Điểm: Biến static được khởi tạo khi lớp được tả...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Sự khác biệt giữa JDKJRE trong Java là gì?

middle

Nếu một đối tượng được gán thành null, Garbage Collector trong Java có giải phóng ngay bộ nhớ được giữ bởi đối tượng đó không?

middle

DGC là gì? Và nó hoạt động như thế nào?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào