Конечно, я знаю, что 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
Программисты JAVA общаются здесь
1727363197
Anonymous
Конечно, я знаю, что 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) {}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79027843/does-this-scheme-of-the-program-kernels-operation-affect-the-use-and-utilizatio[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия