Интересный блог

Модератор: Absurd

Ответить
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Занимательные штучки
http://blog.yudichev.net/things-that-i- ... bout-java/
2B OR NOT(2B) = FF
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

честно говоря, ничего нового
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Кинь чего-нибудь свое тогда.
2B OR NOT(2B) = FF
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

[syntax="java"] Integer j1 = 127;
Integer j2 = 127;
System.out.println(j1==j2); // true

Integer k1 = 128;
Integer k2 = 128;
System.out.println(k1==k2); // false[/syntax]
mobius
Сообщения: 157
Зарегистрирован: 25 янв 2005, 18:42
Откуда: Минск
Контактная информация:

И ?

Сравниваешь ссылки, а не значения переменных..
Всё об отдыхе на http://chugaga.com
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Не, занимательно почему JVM по - разному автбоксит 127 и 128. Я предполагал какой - то локальный кэш для того чтобы избегать лишних инстанциаций Immutable объектов, но если поменять верхнюю и нижнюю часть местами результат не меняется, так что эта гипотеза отпала.
2B OR NOT(2B) = FF
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Absurd, почему так, я и сам не знаю

всё, что меньше 127 - работает, больше - нет

может до байта у них лежит predefined хеш, а остальные создают каждый раз ...
mobius
Сообщения: 157
Зарегистрирован: 25 янв 2005, 18:42
Откуда: Минск
Контактная информация:

Жаба видимо у себя как-то оптимизцией занимается? чтобы память зра не тратить
Всё об отдыхе на http://chugaga.com
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

mobius писал(а):Жаба видимо у себя как-то оптимизцией занимается? чтобы память зря не тратить
По видимому так. Наверно, расчет на то что большинство объектов типа java.lang.Integer не содержат число большее 127.
2B OR NOT(2B) = FF
Ответить