Дамп памяти И MembeerwiseClone()?

412
26 ноября 2016, 20:35

Объясните Человеческим языком что такое Дамп памяти? И каким образом он используется при вызове MembeerwiseClone() ? Всем привет, просто я прохожу онлайн курс, в одном из уроков которого автор говорит, что при использовании MembeerwiseClone() в отличии от использовании конструктора - цитирую "по сути "забегает" в область памяти, хватает ее дамп и простым копированием - копирует его в другую область,перезаписывает адреса и никаких конструкторов MembeerwiseClone() не вызывает" . А и еще один вопрос: о перезаписи каких адресов в скопированном дампе памяти говорит автор ?

Answer 1

ГуголТранслейт нам подсказывает: dump - a copying of stored data to a different location, performed typically as a protection against loss. что можно перевести как: "копирование ранее сохраненных данных в другое место (расположение) осуществляемое чаще всего с целью защиты данных от их потери." В случае клонирования объекта с помощью MembeerwiseClone() value данные копируются с помощью считывания значений и записывания их по новому адресу в памяти, а в случае reference данные не копируются, а копируются только ссылки на эти данные.

Не уверен, что получилось объяснить яснее:)

Допустим, у вас в классе есть два свойства:

public int Id { get; set; }
public int[] Cells { get; set; }

так вот значение Id будет скопировано в клоне, т.е. оно будет "свое", а вот в случае Cells клон будет содержать ссылку на Cells оригинала.

READ ALSO
XSLTProcessor.importStylesheet() - допустимые параметры

XSLTProcessor.importStylesheet() - допустимые параметры

Смотрел документацию https://developermozilla

389
Видео с youtube в RecycleView

Видео с youtube в RecycleView

Как вывести видео с youtube в RecycleView?

442
Тестируем класс

Тестируем класс

У меня есть простенький класс на основе которого, хочу попробовать написать свой первый тестНа данный момент я двигаюсь по следующей схеме,...

418
Запрос в базу MySQL не добавляет данные

Запрос в базу MySQL не добавляет данные

В данном конкретном случае sql запрос должен выглядеть так:

353