Получить объект SAXBuilder из памяти - PullRequest
1 голос
/ 29 марта 2012

У меня в приложении Java есть поток, который запускает цикл while (True) с sleep (50000) (5 минут) внутри.этот поток загружает файл XML перед циклом, потому что мне нужно проанализировать некоторую информацию из него на первой итерации.

     //Loding XML File
     org.jdom.Document document = null;
     SAXBuilder sxb = new SAXBuilder();
     try
     {
        document = sxb.build(new File("Configuration/Map.xml"));
     }
     catch(Exception e){}
     org.jdom.Element racine = document.getRootElement();
    //End loding XML File

Начиная со 2-й итерации вероятность использования файла XML так сильно уменьшается, поэтомуXML-файл в памяти не имеет смысла (поскольку файл имеет 103 000 строк / 3 МБ ).поэтому я решил извлечь его из памяти и загружать каждый раз, когда мне это нужно.Проблема в том, что я не могу найти, как извлечь из памяти документ и объект racine , так как Java использует сборку мусора автоматически.И скажите мне, если это хорошая практика, чтобы получить оптимизированное решение.

1 Ответ

1 голос
/ 29 марта 2012

Если вы хотите, чтобы ваш объект собирался мусором, тогда я думаю, что создание переменной Null может сделать.

document = null; 
sxb = null;
racine = null;
...