Конечно, я знаю, что Java-программы занимают изрядное количество памяти и неохотно от нее отказываются, но мне все же хочется понять, оптимальна ли такая схема построения работы программы (для небольшой программы), ведь в диспетчере задач Windows мне показывает, что соответствующий Java-процесс, связанный с этой программой, занимает целых полгигабайта.
Я предполагаю (и не более того, а вы здесь гуру ), что то, что происходит внутри цикла while, воссоздается с каждым циклом, и поэтому должно использоваться по завершении цикла (как нечто ненужное), но, похоже, этого не происходит.
Я знаю, что сборщик мусора сам знает, когда и что делать, но хотелось бы понять - верны ли мои предположения или такая схема (как я показал) не обязательно будет способствовать экономному использованию памяти?
// an approximate simplified diagram of how the program core works
while (true) {
try {
Thread.sleep(timeToWaite);
} catch (InterruptedException e) {}
final WebDriver driver = ServerUtils.getWebDriver();
try {
// the biggest work using webdriver happens here
} catch (Exception e) {...}
driver.quit(); // closes all the browser windows and terminates the WebDriver session
// clean the tails if any remain
Thread brokerThread = new Thread(new ProcessFinisher());
brokerThread.setDaemon(false);
brokerThread.start();
try {
brokerThread.join();
} catch (InterruptedException e) {}
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... utilizatio
Влияет ли такая схема работы ядра программы на использование и утилизацию памяти? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Взлом системного вызова без перекомпиляции ядра или написания модуля ядра
Anonymous » » в форуме C++ - 0 Ответы
- 35 Просмотры
-
Последнее сообщение Anonymous
-