Java
Java. Сборщик мусора.
Сборщик мусора закрывает Scanner(System.in) автоматически, если не использовать обработку исключений и .close? Если да, тогда смысл закрывать в коде, в чём различие?
Сборщик мусора не закрывает Scanner( System.in ) автоматически. Если вы не закроете Scanner явно с помощью метода .close(), то ресурсы, связанные с ним, не будут освобождены до тех пор, пока программа не завершится или не будет уничтожен объект Scanner. Это может привести к утечкам памяти и другим проблемам.
Если вы явно закрываете Scanner в коде, то вы гарантируете, что все связанные с ним ресурсы будут освобождены немедленно после использования. Это может быть полезно, если вы работаете с большим количеством Scanner объектов или если ваша программа работает длительное время.
Хошей практикой является закрытие всех ресурсов, которые вы используете в своей программе, включая Scanner. Это поможет избежать утечек памяти и других проблем.
Если вы явно закрываете Scanner в коде, то вы гарантируете, что все связанные с ним ресурсы будут освобождены немедленно после использования. Это может быть полезно, если вы работаете с большим количеством Scanner объектов или если ваша программа работает длительное время.
Хошей практикой является закрытие всех ресурсов, которые вы используете в своей программе, включая Scanner. Это поможет избежать утечек памяти и других проблем.
да пиши как хочешь
никто на твой код смотреть не будет.
Scanner( System.in ) -- далеко не единственный способ использования сканера....
если лень писать закрытие, то и используй try-with-resources
всё за тебя закроют
никто на твой код смотреть не будет.
Scanner( System.in ) -- далеко не единственный способ использования сканера....
если лень писать закрытие, то и используй try-with-resources
всё за тебя закроют
Смотри, ты объявляешь сканер
Сборщик мусора не будет уничтожать объект, пока на него есть хоть одна ссылка, которая доступна из метода main (может содержать сколько угодно вложенных элементов, главное, чтобы по цепочке можно было дойти до объекта).
Для того, чтобы сборщик мусора уничтожил объект, можно сделать ссылку null.
Scanner scanner = new Scanner();
Первая часть тут ссылка на объект, а то, что после = сам объект.Сборщик мусора не будет уничтожать объект, пока на него есть хоть одна ссылка, которая доступна из метода main (может содержать сколько угодно вложенных элементов, главное, чтобы по цепочке можно было дойти до объекта).
Для того, чтобы сборщик мусора уничтожил объект, можно сделать ссылку null.
scanner = null;
В этом случае объект сканера будет помечен, как мертвый, т.е. на него не ведет ни одна ссылка в приложении, и уничтожен сборщиком мусора. В ином случае, объект уничтожен не будет, если не используется try-with-resources или сканер не закрыт явно методом close().Похожие вопросы
- Всем привет. Помогите плз. Мне нужна помощь тех кто действительно хорошо знает Java т. к мне нужно выбрать один из курсов
- Помогите доделать код на java. В форму пользователь вводит символ, который нужно заменить на #.
- Не выводит изображение в JAVA
- Java проблема с рефлексией.
- Java Developer vs Android Developer. Куда дальше?
- Пишут ли стартапы на Java?
- С какой книги начинать изучение Java?
- Помогите сделать java приложение! { СРОЧНО }
- Java и какой толк работать именно в консоле?
- Подскажите пожалуйста, как в данном коде Java сделать так, чтоб при нажатии цифры 3 программа завершала свою работу?