Java находится на таком же высоком уровне, как Objecive C, здесь - в этом случае Java 'Random.getInt () - это то же самое, что и arc4random, поскольку они оба возвращают 32-битное псевдослучайное число.
Проблема, поднятая в URL (и я видел в других местах), заключается в том, что rand ()
может повторяться каждые 32768 значений.
, тогда как OSX arc4random может иметь (2 ** 1700) состояний.
Но, как и при любом использовании псевдослучайных генераторов, вам необходимо знать об их слабых сторонах, прежде чем использовать их, например, предпочтение младших битов в некоторых генераторах, а такжекомментарий на странице руководства openBSD arc4random , где говорится, что
arc4random_uniform () рекомендуется для конструкций типа `` arc4random ()% upper_bound '', так как он избегает "смещения по модулю"когда верхняя граница не является степенью двойки.