мы рассматриваем этот пример Erlang:
X1=[1,2,4,6....we consider there are 10 millions element],
X2=[2,6,5,2,...we consider there are 100 millions element],
X3=.......
.
.
X10000=.....
этот код будет выделять места для миллиардов элементов, поэтому давайте попробуем следующее:
L=[X1, X2,....., X10000].
in Java "X1, X2, ... "являются просто ссылками на выделение памяти, поэтому этот код в Java будет выделять память для значений этих переменных и назначать переменным адреса памяти для ссылки на эти значения, поэтому, когда мы создаем список L и вызываем X1 .... переменные ссылаются на предыдущее распределение памяти, и мы выделяем память только один раз.
если учесть, что «=» является выражением, а не присваиванием между переменной и адресом памяти (как сказал Джо в своей книге), переменные X1, .... X10000 в L-списке будут выделяется в памяти второй раз?