Ограничение на размер кучи

1

Исправьте меня, если я ошибаюсь, но в C/C++ куча не имеет ограничений, вам не нужно передавать какие-либо аргументы, чтобы увеличить ее.

Итак, почему у java есть ограничение на кучу?

  • 0
    Вероятно, это связано с тем, что в Java есть сборщик мусора, а в C и C ++ нет.
  • 0
    @Rufflewind что-то, что ... но почему вы должны ограничить это? почему просто нет, пусть это взорвет память
Показать ещё 3 комментария
Теги:
memory
heap

1 ответ

2
Лучший ответ

Существует несколько причин:

  • сначала у вас есть минимальный размер кучи, который существует для предотвращения медленного запуска
  • максимальный размер кучи существует, так что GC знает, когда начать выполнять эту работу, без него было бы намного сложнее (но выполнимо, вам просто нужно было бы учитывать различные эвристики, такие как количество распределений и т.д.),
  • максимальный размер кучи также мешает JVM забивать все ресурсы на машине, что может быть очень хорошей вещью

Ещё вопросы

Сообщество Overcoder
Наверх
Меню