Под линуксом есть в ядре такая вещь, как binfmt_misc. Позволяет запускать любые бинарники (к сигнатуре бинарника привязывается интерпритатор).
Через эту технологию можно запускать как Java (классы и JAR-ы), так и виндовые EXE.
Читать здесь: www.linuxhq.com/java.html
Есть. Но у Вас несколько не то. Насколько я понял, там примеры реализации алгоритмов, сделанные «для себя» и «чтобы понять». Некоторые даже переведены с паскаля, ах, ностальгия :)
Такие примеры можно (и мне кажется удобно) смотреть в той же википедии ( Категория: Алгоритмы_сортировки — описания с примерами реализации на различных языках ).
А здесь я пытался привести пример универсальной реализации внешней сортировки (т.е. той, оперирует большим объёмом данных, который обычной сортировкой обработать нельзя).
Set'ы ведь уникализируют содержимое. А у нас произвольный список.
И, мне кажется, Вы несколько не поняли алгоритм. AddAll здесь помочь никак не может, т.к. в переменной(списке) items хранятся по одному минимальному на текущий момент значению из файлов подкачки (доступных через переменную(список итераторов :)) iterators). Добавив минимальное значение из одного из них необходимо подтянуть из использованного источника следующее значение. Вдруг оно окажется меньшим остальных имеющихся в пуле?
Про коллекции читал, туториал тоже разбирал. В доступном объёме их возможности используются, но как ими сортировать большие массивы (например, терабайты), на ум не приходит.
ArrayList я использовал, т.к. к этому списку (хоть он и не слишком большой) идут частые обращения к случайному элементу ( iterators.get(minIdx) и items.set(minIdx, iterators.get(minIdx).next()) ).
Я не тестировал и опыта у меня пока «кот наплакал», но предположил, что оно сработает лучше :)
Перебор… Можно было воспользоваться итератором и здесь (да, они мне очень нравятся), но код получился бы длиннее.
Классы по работе с коллекциями я как раз использовал. Да, совсем чуть-чуть. А есть специализированные классы, которые позволяют сортировать большие объёмы данных (для которых памяти совсем не хватает)?
Юмор — юмором, но скомпилить пока не удалось — в процессе сборки папка разрослась до 2.6 гиг и неожиданно закончилось место.
Сейчас «удалю что-нибудь ненужное» и попробую ещё раз.
Должна же эта монстроидная вещь заработать…
Бал замечательный мувик. О сером мире, где все пахали, а элита наслаждалась. Один из «пахарей» иногда вспоминает детство или прошлое, где всё было цветным и живым. И вот он изобретает очки, которые позволяют видеть мир радужно. Но изобретение ест его жизненную искру. Очки пускают в производство, товарищ поднимается наверх по пирамиде жизни. И в итоге он обнаруживает, что искра погасла.
Ведь красота и украшательство несколько различаются ;)
Я конечно не самый здесь умный, но перепечатать на портал статью 2002-го года и запостить на хабр… Имхо смахивает на банальное получение бэклинка на сайт с мощного ресурса.
Вот если бы Вы написали скрипт, который преобразует числовую последовательность в хорошо звучащий набор буков/слов и анонсировали его — был бы рулез.
Баг. Например, на запрос «visit random site» вываливает поиск на гугле варннга от мускла. А варнинг говорит где на хостинге лежит скрипт с mysql-говорилкой.
На продакшене варнинги нужно прятать от пользователя и складывать в отдельный файл «для опытов» ;)
Для десктопов, виндошных, он безусловно выиграет. Но в плане серверных продуктов, да ещё и не под ms-ось, vmware явно опережает. А этот рынок, мне почему-то кажется, больше.
Через эту технологию можно запускать как Java (классы и JAR-ы), так и виндовые EXE.
Читать здесь: www.linuxhq.com/java.html
Такие примеры можно (и мне кажется удобно) смотреть в той же википедии ( Категория: Алгоритмы_сортировки — описания с примерами реализации на различных языках ).
А здесь я пытался привести пример универсальной реализации внешней сортировки (т.е. той, оперирует большим объёмом данных, который обычной сортировкой обработать нельзя).
И, мне кажется, Вы несколько не поняли алгоритм. AddAll здесь помочь никак не может, т.к. в переменной(списке) items хранятся по одному минимальному на текущий момент значению из файлов подкачки (доступных через переменную(список итераторов :)) iterators). Добавив минимальное значение из одного из них необходимо подтянуть из использованного источника следующее значение. Вдруг оно окажется меньшим остальных имеющихся в пуле?
Про коллекции читал, туториал тоже разбирал. В доступном объёме их возможности используются, но как ими сортировать большие массивы (например, терабайты), на ум не приходит.
ВотЪ
Я не тестировал и опыта у меня пока «кот наплакал», но предположил, что оно сработает лучше :)
Перебор… Можно было воспользоваться итератором и здесь (да, они мне очень нравятся), но код получился бы длиннее.
Классы по работе с коллекциями я как раз использовал. Да, совсем чуть-чуть. А есть специализированные классы, которые позволяют сортировать большие объёмы данных (для которых памяти совсем не хватает)?
«Виноват, сейчас исправлюсь»
Сейчас «удалю что-нибудь ненужное» и попробую ещё раз.
Должна же эта монстроидная вещь заработать…
dzmitryc@localhost ~/chromium/src $ svn info
Path:.
URL: src.chromium.org/svn/trunk/src
Repository Root: src.chromium.org/svn
Repository UUID: 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Revision: 13500
Node Kind: directory
Schedule: normal
Last Changed Author: pfeldman@chromium.org
Last Changed Rev: 13500
Last Changed Date: 2009-04-10 15:20:05 +0400
dzmitryc@localhost ~/chromium/src $ svn up
At revision 13500.
dzmitryc@localhost ~/chromium/src $ du -hs.
1,5G.
из которых 500мб — webkit, 700мб — собственно сам chrome (400 метров в нём — некие тулзы) + по мелочам.
Ведь красота и украшательство несколько различаются ;)
Вот если бы Вы написали скрипт, который преобразует числовую последовательность в хорошо звучащий набор буков/слов и анонсировали его — был бы рулез.
На продакшене варнинги нужно прятать от пользователя и складывать в отдельный файл «для опытов» ;)
ssh user@host.outside.com -N -D 127.0.0.1:1080
;)
но и так - весчь :)
всё дело в волшебных пузырьках :)