У меня есть интервью, и я спросил, как предотвратить фрагментацию памяти на Java. Может ли кто-нибудь обобщить, как Java справляется с этим? Я прочитал несколько документов, но это очень сложно.Как предотвратить фрагментацию на Java?
ответ
Короткий ответ: вы используете коллекционный сборщик мусора.
За исключением того, что большинство современных реализаций Java использования коллекторно поколений по умолчанию. Другими словами, вам (программисту) не нужно решать проблему, потому что она уже решена.
Единственная ситуация, когда вы можете столкнуться с фрагментацией, - это если вы неправильно настроили сборщик низких пауз, и он вернулся к полной коллекции «остановить мир». В этот момент вы можете использовать сборщик без уплотнения, и может произойти фрагментация. Но решение состоит в том, чтобы настроить настройку (или приложение, или размер кучи), чтобы избежать попадания в эту ситуацию.
1 - Некоторые действительно старые реализации Java использовали примитивные сборщик метки развертки. Но они давно прошли.
Но мне нужно знать, как это работает. Можете ли вы объяснить более подробно? –
Есть (буквально) книги о том, как работают сборщики мусора. И множество других ресурсов в Интернете. Если вам нужен ответ, объясняющий, как работает коллекционер коллекций, ваш вопрос слишком широк. –
@OP, как программист на Java, вам в основном не нужно заниматься wth сборкой мусора. Сбор мусора обрабатывается JVM, а не вами. – ifly6
- 1. Как предотвратить фрагментацию кеша APC
- 2. Как анализировать фрагментацию памяти в java?
- 3. Как рассчитать фрагментацию?
- 4. Опция SO_REUSEADDR влияет на фрагментацию?
- 5. Android: Как заменить фрагментацию на фрагментную активность
- 6. Как увидеть фрагментацию определенного файла?
- 7. Как создать фрагментацию файловой системы?
- 8. Как объединение предотвращает фрагментацию памяти?
- 9. Как распределитель может решить фрагментацию?
- 10. Как сделать фрагментацию анимации swipeable
- 11. Как iOS решает фрагментацию памяти?
- 12. Datagramsocket: как получать (...) обрабатывает фрагментацию пакета
- 13. Как предотвратить отображение окружности кнопки на Java?
- 14. Как предотвратить зависания на SocketInputStream.socketRead0 в Java?
- 15. Как определить направление атаки и андроидную фрагментацию
- 16. Oracle: Как найти фрагментацию табличного пространства?
- 17. Невозможно заменить фрагментацию новым фрагментом
- 18. Как включить столбцы в NONCLUSTERED INDEX повлиять на фрагментацию индекса?
- 19. Как добавить фрагментацию документа в div
- 20. Как заменить фрагментацию в коде ниже?
- 21. Как избежать строк, вызывающих фрагментацию в LOH
- 22. Поддерживает ли LTE фрагментацию IP?
- 23. Как предотвратить голодание в java
- 24. как предотвратить переупорядочение в java
- 25. Поддерживает ли Android-сервер SNEP фрагментацию?
- 26. Влияет ли физическая дефрагментация файла на фрагментацию индекса?
- 27. Как я могу предотвратить CTRL + C на JTextField в java?
- 28. Браузер загружает jnlp на Java Web Start. Как предотвратить это?
- 29. Как очистить HTML-код на Java, чтобы предотвратить атаки XSS?
- 30. Как предотвратить hotlinking на автономном сервере Java Webapp?
Как этот заголовок относится к вашему вопросу? – Gendarme
Вы ничего не делаете. JVM делает это. Слишком широкий. – EJP
@EJP. Я уже знал это. Я пытаюсь понять, как Java делала это для предотвращения фрагмента памяти. спасибо –