The java version instantiates a new SecureRandom instance every time it creates a new salt. While I don't think this hurts the randomness of the salt, it's an unnecessary performance hit.
Anyway you look at it, there's no good reason to instantiate use a fresh SecureRandom instance every call.