Контакты 244851268 Телефон 8(067)6446674
Логин: Пароль: Код проверки: captcha >>Забыли пароль?

Поиск

>>Расширенный

Категории

Новости

Вы здесь: Начало > Новости

Каталог продукции Vileda

Опубликовано: 02.12.2016

видео Каталог продукции Vileda

Видео-обзор: Бахилы от компании - Клевер.

Если два экземпляра Random создаются с этим же самым семенем, и та же самая последовательность вызовов способа делается для каждого, они генерируют и вернут схожие последовательности чисел. Чтоб гарантировать это свойство, определенные методы определяются для class Random. Реализации Java должны использовать все методы, показанные тут для class Random, ради абсолютной мобильности кода Java, подробнее vileda. Но, подклассы class Random разрешаются использовать другие методы, пока они придерживаются общих договоров для всех способов.

Методы реализуются class Random используйте a protected служебный способ, который на каждом вызове может предоставить до 32 псевдобеспорядочно сгенерированных битов.

Много приложений отыщут способ Math.random() более обычный использовать.

Экземпляры java.util. Random нацелены на многопотоковое выполнение. Но, параллельное внедрение такого же самого java.util. Random экземпляр через потоки может повстречаться с состязательной и поочередной низкой производительностью. Разглядите заместо этого внедрение ThreadLocalRandom в многопоточных проектах.

Экземпляры java.util. Random не криптографически неопасны. Разглядите заместо этого внедрение SecureRandom получить криптографически неопасный генератор псевдослучайного числа для использования чувствительными к безопасности приложениями. С того времени: 1. 0 См. Также: Сериализированная Форма Сводка конструктора Конструкторы  Конструктор и Описание Random() Делает новый генератор случайных чисел. Random(long seed) Делает новый генератор случайных чисел, используя сингл long семя. Сводка способа Все Методы Методы экземпляра Конкретные Методы  Модификатор и Тип Способ и Описание DoubleStream doubles() Возвращает поток псевдослучайных, однородно распределенных double значения меж 0. 0 и 1. 0 от последовательности этого генератора случайных чисел. DoubleStream gaussians() Возвращает поток псевдослучайных, Гауссовых ("обычно") распределяемых double значения со средним значением 0. 0 и стандартное отклонение 1. 0 от последовательности этого генератора случайных чисел. IntStream ints() Возвращает поток псевдослучайных, однородно распределенных integer значения от последовательности этого генератора случайных чисел. LongStream longs() Возвращает поток псевдослучайных, однородно распределенных long значения от последовательности этого генератора случайных чисел. protected int next(int bits) Генерирует последующее псевдослучайное число. boolean nextBoolean() Возвращает последующее псевдослучайное, однородно распределенное boolean значение от последовательности этого генератора случайных чисел. void nextBytes(byte[] bytes) Генерирует случайные байты и располагает их в предоставленный юзером байтовый массив. double nextDouble() Возвращает последующее псевдослучайное, однородно распределенное double значение меж 0. 0 и 1. 0 от последовательности этого генератора случайных чисел. float nextFloat() Возвращает последующее псевдослучайное, однородно распределенное float значение меж 0. 0 и 1. 0 от последовательности этого генератора случайных чисел. double nextGaussian() Возвращает последующее псевдослучайное, Гауссово ("обычно") распределяемое double значение со средним значением 0. 0 и стандартное отклонение 1. 0 от последовательности этого генератора случайных чисел. int nextInt() Возвращает последующее псевдослучайное, однородно распределенное int значение от последовательности этого генератора случайных чисел. int nextInt(int n) Возвращает псевдослучайное, однородно распределенное int значение меж 0 (содержащий) и обозначенное значение (монопольное), оттянутое из последовательности этого генератора случайных чисел. long nextLong() Возвращает последующее псевдослучайное, однородно распределенное long значение от последовательности этого генератора случайных чисел. void setSeed(long seed) Устанавливает семя этого генератора случайных чисел, используя сингл long семя. Способы, наследованные от class java.lang. Объект clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Деталь конструктора Случайный public Random() Делает новый генератор случайных чисел. Этот конструктор устанавливает семя генератора случайных чисел к значению очень возможно, чтоб быть хорошим от хоть какого другого вызова этого конструктора. Случайный public Random(long seed) Делает новый генератор случайных чисел, используя сингл long семя. Семя является исходным значением внутреннего состояния генератора псевдослучайного числа, который сохраняется способом next(int).

Вызов new Random(seed) эквивалентно: Random rnd = new Random(); rnd.setSeed(seed); Характеристики: seed - изначальное семя См. Также: setSeed(long) Деталь способа setSeed public void setSeed(long seed) Устанавливает семя этого генератора случайных чисел, используя сингл long семя. Общий договор setSeed это, это изменяет состояние этого объекта генератора случайных чисел, чтоб быть в точно том же самом состоянии, будто бы это было только-только сотворено с параметром seed как семя. Способ setSeed реализуется class Random атомарно обновляя семя к (seed ^ 0x5DEECE66DL) & ((1L << 48) - 1) и очистка haveNextNextGaussian флаг, используемый nextGaussian().

Реализация setSeed class Random оказывается, употребляет только 48 битов данного семени. Вообщем, но, способ переопределения может использовать все 64 бита long параметр как значение семени. Характеристики: seed - изначальное семя потом protected int next(int bits) Генерирует последующее псевдослучайное число. Подклассы должны переопределить это, так как это употребляется всеми другими способами.

Общий договор next это, это ворачивается int значение и если параметр bits меж 1 и 32 (включительно), тогда то, что много битов младшего разряда возвращенного значения будут (примерно) независимо избранными битовыми значениями, каждое из которых (примерно), идиентично возможно, будет 0 либо 1. Способ next реализуется class Random атомарно обновляя семя к (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1) и возврат (int)(seed >>> (48 - bits)). Это - линейный congruential генератор псевдослучайного числа, как определено Д. Х. Лехмером и обрисовало Дональдом Э. Нутом в Искусстве Программирования, Объем 3: получисловые Методы, раздел 3. 2. 1. Характеристики: bits - случайные биты Возвраты: последующее псевдослучайное значение от последовательности этого генератора случайных чисел С того времени: 1. 1 nextBytes public void nextBytes(byte[] bytes) Генерирует случайные байты и располагает их в предоставленный юзером байтовый массив. Число случайных сделанных байтов равно длине байтового массива.

Способ nextBytes реализуется class Random будто бы: public void nextBytes(byte[] bytes) { for (int i = ; i < bytes.length; ) for (int rnd = nextInt(), n = Math.min(bytes.length - i, 4); n-- > ; 0rnd >>= 8) bytes[i++] = (byte)rnd; } Характеристики: bytes - байтовый массив, чтоб заполниться случайными б Броски: NullPointerException - если байтовый массив является нулем С того времени: 1. 1 nextInt public int nextInt() Возвращает последующее псевдослучайное, однородно распределенное int значение от последовательности этого генератора случайных чисел. Общий договор nextInt тот int значение псевдобеспорядочно сгенерировано и возвращено. Все вероятные 232 int значения выполняются с (примерно) равной вероятностью.

Способ nextInt реализуется class Random будто бы: public int nextInt() { return next(32); } Возвраты: последующее псевдослучайное, однородно распределенное int значение от последовательности этого генератора случайных чисел nextInt public int nextInt(int n) Возвращает псевдослучайное, однородно распределенное int значение меж 0 (содержащий) и обозначенное значение (монопольное), оттянутое из последовательности этого генератора случайных чисел. Общий договор nextInt тот int значение в обозначенном спектре псевдобеспорядочно сгенерировано и возвращено. Все n вероятный int значения выполняются с (примерно) равной вероятностью. Способ nextInt(int n) реализуется class Random будто бы: public int nextInt(int n) { if (n <= 0) throw new IllegalArgumentException("n must be positive"); if ((n & -n) == n) // i.e. , n is a power of 2 return (int)((n * (long)next(31)) >> 31); int bits, val; do { bits = next(31); val = bits % n; } while (bits - val + (n-1) < 0); return val; }

Преграда "примерно" употребляется в предыдущем описании только поэтому, что последующий способ является только примерно несмещенным источником независимо избранных битов. Если б это был совершенный источник в случайном порядке избранных битов, то показанный метод избрал бы int значения от установленного спектра с совершенной однородностью.

Метод малость хитер. Это отклоняет значения, которые привели бы к неравному рассредотачиванию (вследствие того, что 2^31 не является делимым n). Возможность отклоняемого значения находится в зависимости от n. Худший случай является n=2^30+1, для которого возможность отличия является 1/2, и ожидаемым числом итераций до этого, чем цикл закончится, 2.

Метод обрабатывает случай, где n является питанием два в особенности: это возвращает корректное число битов старшего разряда от базисного генератора псевдослучайного числа. В отсутствие специального режима было бы возвращено корректное число битов


Белый Кот - Салфетки из микрофибры Smart


МИНДАЛЬНЫЙ крем от компании WELEDA

rss