В C++ динамически выделенный массив должен быть удален, если он не потерян в памяти. В java мы должны делать то же самое, и если да. Как вы это делаетеУдаление динамического массива в java
ответ
Разработчик не должен беспокоиться о освобождении памяти в java. Сборщик мусора Java делает это за вас. Вы можете прочитать, как это работает here
На языке программирования Java динамическое распределение объектов достигается с помощью нового оператора. Созданный объект использует некоторую память и память остается выделенной до тех пор, пока не будут ссылки на использование объекта. Когда ссылок нет для объекта, предполагается, что он больше не нужен, и память, занятая объектом, может быть восстановлена. Нет необходимости в явной необходимости уничтожать объект, поскольку java автоматически обрабатывает де-распределение. Техника, которая выполняет это, известна как сборка мусора. Программы, которые не де-распределяют память, могут в конечном итоге сработать, когда в системе не останется памяти. Говорят, что эти программы имеют утечки памяти.
В Java сбор мусора происходит автоматически в течение жизни Java-программы, устраняя необходимость де-выделения памяти и избежания утечек памяти. На языке C задача программиста заключается в том, чтобы распределить выделенную память динамически с помощью функции free(). Подробнее на http://www.javatutorialhub.com/java-garbage-collection.html#wpewoJfMWffgXd8O.99
Я не понимаю ваше определение динамического массива. Вы имеете в виду коллекцию предметов, где ее длина неизвестна, инициализируя ее? Если да, вы говорите о таких коллекциях, как ArrayList.
Вам не нужно беспокоиться об удалении ваших объектов. JVM позаботится о ваших объектах, когда они больше не используются, или когда they're out of scope.
JVM анализирует выполнение вашего кода и вызывает специальный компонент с именем Garbage Collector, который очистит код выполнения от бесполезных/вне объектов области видимости.
Например, если у вас есть этот код:
if(condition)
{
string myStr = "test";
//other code here
}
переменная myStr
, потому что она больше не используется (это из сферы действия if
заявления), будет отмечен JVM быть мусора ,
- 1. Удаление динамического массива в C++
- 2. Удаление элементов из динамического массива
- 3. C++ Удаление объектов динамического массива
- 4. Обновление динамического размера динамического массива в Java
- 5. Удаление динамического массива обугленного в C++
- 6. Удаление динамического массива указателей в C++
- 7. Удаление неоригинального динамического массива с помощью указателя
- 8. Объявление динамического массива в java
- 9. Удаление динамического массива с использованием деструктора класса
- 10. Удаление динамического массива 2D не будет работать
- 11. C++ удаление 1 элемента динамического массива?
- 12. Удаление элементов динамического массива один за одним
- 13. Удаление динамического массива с помощью другого указателя
- 14. удаление отстающих нулей из динамического массива
- 15. Удаление строки из динамического массива и уменьшение размера этого массива
- 16. Удаление динамического символа ** в C++
- 17. Реализация стека и динамического массива в Java
- 18. генерировать список массива динамического типа в Java
- 19. Создание динамического массива класса в Java
- 20. Динамического изменения размера массива в Java
- 21. Удаление элемента из массива (Java)
- 22. Удаление элемента из массива. (Java)
- 23. Удаление элементов из динамического массива строк в Powershell
- 24. Удаление стиля из динамического?
- 25. Удаление динамического gridview
- 26. Удаление элементов из многомерного массива в Java
- 27. Удаление элемента из массива в java
- 28. Удаление значений массива в Java Возвращает OutOfBoundsException
- 29. удаление объекта из массива объектов в java
- 30. Удаление дубликатов из массива в Java
Нет, это сбор мусора. – Batty
В Java вам не нужно беспокоиться о «распространенных» утечках памяти ... Встроенный сборщик мусора позаботится об этом ... – TheLostMind
Посмотрите это: http://stackoverflow.com/questions/17647194/do -not-understand-scope-of-objects-in-java-java-newbie-confusion – Nishant