Изучаю java и возникают вопросы:
Зачем нужен сборщик мусора?
Ведь, деструкторы соберут весь мусор.
Я не помню когда последний раз руками очищал память в с++.
Как можно обходиться без деструкторов?
неужели код
mutex.lock();//что если обьектов много и какой-то из них забыли закрыть
try {
....
}
finally{
mutex.unlock();
}
считается удобнее и надежнне чем:
{
boost::mutex::lock l(mutex);
.............
}
а как быть с очисткой ресурсов (закрытием файлов, различных соединений), тоже руками?
В с++ надо один раз очистить ресурс в деструкторе, а java 30 раз в коде, где этот обьект используется.
Не совсем понятно в чем прелесть такого подхода?
05.08.08 16:06: Перенесено модератором из 'C/C++' — Кодт