2011-01-13 3 views
2

Кто-нибудь знает, чтобы получить адреса памяти индексов массива? (как в c)Адрес памяти массива - Java

+3

Вы не можете получить адреса памяти, что вы действительно пытаетесь выполнить? –

+3

Если вам абсолютно нужна эта информация на Java, вы, вероятно, выбрали неправильную платформу для своей работы. –

ответ

5

В Java нет никакого программируемого понятия о «адресе». На языке, таком как C или C++, идентификаторы объектов приравниваются к их адресу - два объекта являются одним и тем же объектом, если они живут в одной и той же ячейке памяти. В Java это понятие идентичности отделено от адреса объекта. Это позволяет некоторые оптимизации, которые невозможны в C++. Например, сборщик мусора мог теоретически перемещать объекты в памяти, чтобы избежать фрагментации, если он изменяет ссылки, поэтому они указывают на правильное местоположение. Поскольку адреса памяти не могут получить доступ непосредственно программистом, эта операция разрешена. В C++ это не сработало, потому что компилятор не мог определить, был ли определенный бит в памяти некоей кодировкой.

1

Вы не можете. Java не имеет прямого доступа к памяти.

+0

Как альтернатива, могу ли я сделать это с помощью объектов массива? – sura2k

+3

Зависит от того, что вы пытаетесь сделать. – Programmdude

Смежные вопросы