По умолчанию использует алгоритм Парка-Миллера.
Hashcode - int переменная.
Коллизия - ситуация, когда у разных объектов одинаковые хеш-коды. Вероятность возникновения коллизии зависит от используемого алгоритма генерации хеш-кода.
public native int hashCode(); - реализован на реализован на C++.
Для int hashcode будет равен его значению.
При каждом запуске программы hashcode будет разным. Так как если метод не переопределен будет использоваться Адрес в памяти.