En C++, le modèle Acquisition de ressources est l'initialisation (RAII), ce qui simplifie considérablement la gestion des ressources. L'idée est de fournir un objet enveloppant pour tout type de ressources. Le destructeur de l'objet wrapping est alors responsable de la libération des ressources, quand il sort de sa portée. Par exemple:La gestion des ressources de type C++ est-elle possible en Java?
{
auto_ptr<int> smartPointer = new int;
// some other code
} // the memory allocated for the int is released automatically
// by smartPointer's destructor
L'utilisation la plus courante est les pointeurs intelligents. Mais, il existe de nombreux autres types de ressources (fichiers, mutex, sockets, etc.) qui peuvent être gérés exactement de la même manière.
En Java, vous n'avez pas à déranger la gestion de la mémoire. Mais tous les autres types de ressources restent. Il y a enfin le bloc, mais son utilisation est assez gênante, surtout quand de nombreuses exceptions différentes peuvent être levées. Donc, ma question est de savoir s'il existe un modèle Java qui fournit une fonctionnalité équivalente à C++ RAII? Si ce n'est pas le cas, veuillez partager vos meilleures pratiques dans ce domaine (au lieu de la finale, à moins qu'elle ne soit utilisée de manière sophistiquée).
Voir cette question: http://stackoverflow.com/questions/194261/raii-in-java-is-resource-disposal-always-so-ugly-was-i-had-a-dream – Eclipse
Aussi: http : //stackoverflow.com/questions/477399/does-java-support-raii-deterministic-destruction – Eclipse
"ce qui simplifie énormément la gestion des ressources" es-tu une blague? – hasen