If you forget to close the JDBC connection (Connection), what can happen?

4 phương ánCó giải thích

Các phương án trả lời

Chọn một phương án
Lời giảiChọn phương án để mở
Đáp án đúng: "The number of connections to the database can be exhausted (Connection Leak)". Mỗi kết nối là một tài nguyên của cả tiến trình Java lẫn của máy chủ cơ sở dữ liệu và số lượng luôn có hạn; không đóng thì kết nối vẫn bị giữ, đến lúc pool cạn hoặc server đạt giới hạn phiên thì mọi yêu cầu sau phải chờ rồi hết thời gian và ứng dụng tắc ở chỗ xin kết nối. Vì vậy phải đóng trong khối finally hoặc dùng cú pháp tự đóng tài nguyên. "Data can be lost" là hệ quả gián tiếp chứ không phải điều xảy ra do việc không đóng; dữ liệu đã commit vẫn còn, chỉ phần chưa commit mới bị bỏ khi phiên bị cắt. "The application will automatically release the connection" sai vì bộ thu gom rác không bảo đảm đóng kết nối và cũng không chạy đúng lúc ta cần. "Nothing happens" sai vì hậu quả chỉ chưa thấy khi tải thấp, dưới tải thật thì số kết nối bị giữ tăng dần tới khi cạn.

Cùng phần 3

Xuất hiện trong 1 bộ đề