YuReC.CoM, объясню на примере браузера. Представь, что в браузера есть рямая ссылка на текущую страницу и два стека: стек адресов и стек слабых ссылок на предыдущие страницы. Каждый раз, когда пользователь жмёт на ссылку на стек адресов добавляется адрес текущей страницы, а в стек страниц - new WeakReference(текущаяСтраница). Тем временем, прямой ссылке присваивается значение следующей страницы. Что дальше? Начинается самое интересное...
Пользователь жмёт "Назад"; со стека адресов берётся адрес, а со стека слабых ссылок изымается последний объект. Проверяется, ссылается ли ссылка(простите за повторы) на что-то, или равна null. Если первый вариант - прямой ссылке присваивается значение из слабой и для пользователя это ввыглядит как "Страница загружена из кеша". В случае с null мы просто заново перезагружаем страницу. Здесь правда более бы подошли SoftReference, но CLDC есть CLDC.
)
Ссылка на пост
26 июл 2011 в 19:52
seclub.org/forum/goto/13613486/ - самый простой вариант - генерировать два случайных числа в пределах диапазона индексов массива и переставлять элементы по этим адресам. И так какое-то количество раз в цикле.