Please enable JavaScript.
Coggle requires JavaScript to display documents.
Массивы и списки #7 (Сборка мусора (Java-программисту не нужно следить за…
Массивы и списки #7
Сборка мусора
Java-программисту не нужно следить за распределением памяти, так как сборщик мусора управляет памятью автоматически
Сборщик мусора запускается виртуальной машиной Java (JVM)
Сборщик мусора — это низкоприоритетный процесс, который запускается периодически и освобождает память, использованную объектами, которые больше не нужны
JVM обычно запускает сборщик мусора при низком уровне свободной памяти
Если памяти недостаточно даже после восстановления, JVM генерирует исключение OutOfMemoryError
Для запроса сборщика мусора используются следующие методы:
System.gc()
Runtime.getRuntime().gc()
Объект подлежит утилизации, когда он недоступен живому потоку
Сборка мусора не может быть задана принудительно
Массивы
Массив — это структура данных, в которой хранятся величины одинакового типа
Массив состоит из множества ячеек
Доступ к отдельному элементу массива осуществляется с помощью целого индекса
Все ячейки одного типа
Статическая инициализация у массива
int[] list = {5, 6, 7, 8, 1, 2, 5, -7, -9, 2, 0};
Элементы массива нумеруются от 0
Пустой массив не эквивалентен объекту
null
Строки
Строки, которые так широко используются в программировании представляют из себя последовательность символов
В языке программирования Java строки — это объект
Класс String является неизменяемым, поэтому один раз создав объект, мы не сможем его изменить
Метод length() возвращает количество символов в строке
ArrayList
ArrayList — реализует интерфейс List
В Java массивы имеют фиксированную длину, и после того как массив создан, он не может расти или уменьшаться. ArrayList может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта
Элементы ArrayList могут быть абсолютно любых типов в том числе и
null
Примитивные типы
boolean - true or false
byte — 1 байт (8 бит)
char — 2 байт (16 бит)
short — 2 байт (16 бит)
int - 4 байт (32 бит)
long - 8 байт (64 бит)
float - 4 байт (32 бит)
double - 8 байт (64 бит)
Эти типы называются базовыми или примитивными, они не могут быть унаследованы, да и вообще не являются объектами в Java
У каждого примитивного типа есть класс-обёртка
Для того, чтобы иметь возможность оперировать с простыми числами (и
boolean
) как с объектами были придуманы классы-обёртки
Их названия: Byte, Short, Integer, Long, Float, Double, Boolean, Character