If you read the exact manual , it informs you
When this method is first called, it creates one new pseudo-random number generator, just as if the expression
new java.util.Random()
This new pseudo-random number generator is then used for all calls to this method and is not used anywhere else.
According to java.util.Random() , the documentation states
public Random()
Creates a new random number generator. This constructor sets the seed of a random number generator to a value that is likely to be different from any other call to this constructor.
The current implementation seems to be based on System.nanoTime() , but may change and still conform to the documentation contract.
As for changing the seed with every call, this is not how the seeds work. PRNGs are plated once and then produce a sequence of values that evolve from this initial state. You do not have to, and Java - no, continue re-sowing.
pjs
source share