Trong C++ chúng tôi có mẫu Mua lại tài nguyên là khởi tạo (RAII), giúp đơn giản hóa việc quản lý tài nguyên. Ý tưởng là cung cấp một số đối tượng gói cho bất kỳ loại tài nguyên nào. Trình hủy của đối tượng bao gói sau đó chịu trách nhiệm giải phóng tài nguyên, khi nó đi ra khỏi phạm vi của nó. Ví dụ:Có phải C++ giống như quản lý tài nguyên có thể trong Java
{
auto_ptr<int> smartPointer = new int;
// some other code
} // the memory allocated for the int is released automatically
// by smartPointer's destructor
Cách sử dụng phổ biến nhất là con trỏ thông minh. Tuy nhiên, có rất nhiều loại tài nguyên khác (tệp, mutexes, ổ cắm, v.v.) có thể được quản lý chính xác theo cùng một cách.
Trong Java không phải bận tâm đến việc quản lý bộ nhớ. Nhưng tất cả các loại tài nguyên khác vẫn còn. Có cuối cùng là khối, nhưng việc sử dụng nó khá bất tiện, đặc biệt khi có nhiều trường hợp ngoại lệ khác nhau có thể được ném.
Vì vậy, câu hỏi của tôi là nếu có bất kỳ mẫu Java nào cung cấp chức năng tương đương với C++ RAII? Nếu không, hãy chia sẻ các phương pháp hay nhất của bạn trong lĩnh vực này (thay vì cuối cùng, trừ khi nó được sử dụng một cách tinh vi).
Xem câu hỏi này: http://stackoverflow.com/questions/194261/raii-in-java-is-resource-disposal-always-so-ugly-was-i-had-a-dream – Eclipse
Ngoài ra: http: : //stackoverflow.com/questions/477399/does-java-support-raii-deterministic-destruction – Eclipse
"điều cực kỳ đơn giản hóa việc quản lý tài nguyên" bạn có đang đùa tôi không ?? – hasen