String s1 = "Старая строка";
//s1 variable, refers to string in memory
reference | MEMORY |
variables | |
[s1] --------------->| "Old String" |
Строка s2 = s1;
//s2 refers to same string as s1
| |
[s1] --------------->| "Old String" |
[s2] ------------------------^
s1 = "Новая строка";
//s1 deletes reference to old string and points to the newly created one
[s1] -----|--------->| "New String" |
| | |
|~~~~~~~~~X| "Old String" |
[s2] ------------------------^
Исходная строка «в памяти» не изменилась, но переменная-ссылка была изменена таким образом, чтобы она ссылалась на новую строку. И если бы у нас не было s2, «Старая строка» все равно была бы в памяти, но у нас не было бы доступа к ней ...
Я решил эту проблему, пытаясь установить зависимости. Я должен был повторить это несколько раз, пока не столкнулся с пакетом с именем libembryo0; e17 пытался установить "libembryo-bin". Я apt-get удален libembryo0 и снова попытался установить e17, и это сработало. Очень небрежно, но успешно. Спасибо.