Форум программистов, компьютерный форум, киберфорум
mutagen
Войти
Регистрация
Восстановить пароль
все вопросы по Java которые задают более 3х раз на форуме
Оценить эту запись

hashCode() - что за цифра

Запись от mutagen размещена 14.12.2013 в 21:17

по учебной литературе у многих складывается впечатление что в методе класса Object
hashCode() находится адрес памяти

пора уже развеять это заблуждение

начнём с магии )

Java
1
2
3
4
5
6
7
public class HashCodeMagic {
    public static void main(String[] args) {
        for (int i = 0; i < 10; i++) {
            System.out.println((new Object()).hashCode());
        }
    }
}
эту программу после компиляции
Кликните здесь для просмотра всего текста

Bash
1
javac HashCodeMagic.java


надо запустить командой
Bash
1
java -XX:hashCode=2 HashCodeMagic
а потом
Bash
1
java -XX:hashCode=3 HashCodeMagic
правда интересно ? )

а в спойлере описание этих опций

Кликните здесь для просмотра всего текста

0 – Park-Miller RNG (по умолчанию)
1 – f(адрес, глобальное_состояние)
2 – константа 1
3 – последовательный счетчик
4 – адрес объекта
5 – Thread-local Xorshift


Как видите там таки рандом

ps: Приятной Java
Размещено в Без категории
Показов 2871 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru