Кстати, что касается слабых ссылок, то есть пример использования для классов, которые что-то хранят о потоках, но сами потоками не управляют. Если поток обрабатывается классом, то WeakHashMap получает запись с потоком в качестве ключа и дополнительной информацией о нем в качестве значения. Пока поток жив, информацию можно достать. Как только поток сдохнет, информация станет никому не нужна, а благодаря слабым ссылкам сборщик мусора при следующем же запуске сможет убрать запись. Если бы использовались жесткие ссылки, то необходимо было бы постоянно думать о том, что произошло с потоками, а так все получается автоматически.
Ссылка на пост
26 июл 2011 в 15:52
seclub.org/forum/goto/13613486/ - самый простой вариант - генерировать два случайных числа в пределах диапазона индексов массива и переставлять элементы по этим адресам. И так какое-то количество раз в цикле.