Где выделяется память для массивов в Java?

Java Networking (сеть) Программирование и разработка

Каждый раз, когда в программе объявляется массив, ему выделяется непрерывная память.

Базовый адрес массива: адрес первого элемента массива называется базовым адресом массива. Каждый элемент будет занимать место в памяти, необходимое для размещения значений его типа, т.е. в зависимости от типа данных элементов для каждого элемента выделяется 1, 4 или 8 байтов памяти. Следующий адрес памяти назначается следующему элементу в массиве. Этот процесс выделения памяти продолжается до тех пор, пока не будет превышено количество элементов массива.

Ячейки памяти JVM. Прежде чем перейти к вопросу о том, где в Java хранится массив, мы должны знать о ячейках памяти в JVM (виртуальная машина Java). Они есть:

  • Heap — объекты Java хранятся в области, называемой кучей. Куча создается при запуске JVM и может увеличиваться или уменьшаться во время работы приложения. Когда груды кучи заполняются, отходы собираются. Во время сборки мусора объекты, которые больше не используются, удаляются, освобождая место для новых объектов.
  • Stack — это структура данных (последним пришел — первым вышел). Он поддерживает две основные операции, называемые push и pop. Операция push добавляет элемент на вершину стека, а операция pop удаляет элемент с вершины стека. Он действует как хранилище частичной переменной.
  • PC Registers — регистр счетчика программ (ПК) отслеживает текущую инструкцию, выполняемую в любой момент времени. Это похоже на указатель на текущую инструкцию в последовательности инструкций программы.
  • Execution Engine — механизм выполнения является основным компонентом виртуальной машины Java (JVM). Он взаимодействует с различными областями памяти JVM. Каждый поток запущенного приложения — это отдельный экземпляр среды выполнения виртуальной машины.
  • Native Method Stack. Собственные методы могут получать доступ к специфичным для системы функциям и API, которые недоступны непосредственно в Java. Собственный метод — это интерфейс для Java для вызова кода, отличного от Java. Собственный метод — это метод Java: метод реализован на языке, отличном от Java, таком как C.
Читайте также:  Python или JavaScript: сравнение, что лучше, что перспективнее

Где выделяется память для массива в Java?

Memory is allocated in Heap are for the Array in Java.

В Java ссылочные типы хранятся в области кучи. Поскольку массивы также являются ссылочными типами (их можно создать с помощью ключевого слова «new» ), они также хранятся в области кучи. Массивы используются для хранения нескольких значений в одной переменной вместо объявления отдельных переменных для каждого значения. В Java в массиве хранятся примитивные значения (int, char и т.д.) или ссылки (т.е. указатели) на объекты.

Одномерный массив:

int arr[] = new int[5];

int[] arr — это просто ссылка на массив из пяти целых чисел. Если вы создаете массив с 50 целыми числами, то же самое — выделяется массив и возвращается ссылка.

int intArray[];    //declaring array
intArray = new int[10];  // allocating memory to array

Мы используем new для выделения массива, вы должны указать тип и количество элементов для выделения.

Массив объектов:

В случае массива объектов ссылка на массив хранится в куче. И сами элементы массива тоже хранят ссылку на объекты.

class A{
. . .
}

public class Ex{
public static void main(String[] args) {
A arr[] = new A[5]
}
}

Оцените статью
bestprogrammer.ru
Добавить комментарий