четверг, 28 марта 2013 г.

воскресенье, 19 февраля 2012 г.

Многопоточность в Java. Часть 1


Я думаю, что ни для кого не секрет, что программы бывают, как однопоточные, там и многопоточные. В чем же их отличия и для чего используется многопоточность при разработке программы на java. Давайте попробуем разобраться.

суббота, 4 февраля 2012 г.

Клонирование объектов. Интерфейс Cloneable.


Иногда необходимо получить копию объекта, которая не зависела бы от оригинала. С которой можно было бы производить манипуляции, при этом, не изменяя оригинал. При обыкновенном присваивание объектов (obj1 = obj2;) передаются ссылки на объект. В итоге два экземпляра ссылаются на один объект, и изменение одного приведет к изменению другого. Как мы видим это не то, что нам нужно. И в данном случае, нам на помощь придет интерфейс Cloneable и метод clone() класса Object.

четверг, 2 февраля 2012 г.

Сортировка и упорядочивание. Интерфейсы Comparable и Comparator


Начиная с версии 1.5, в Java появились два интерфейса java.lang.Comparable и java.util.Comparator. Объекты классов, реализующие один из этих интерфейсов, могут быть упорядоченными. Зачем же тогда два интерфейса, которые делают одно, и тоже действие, спросите вы. Вот об этом мы и поговорим в этой статье.

вторник, 31 января 2012 г.

Equals, hashCode


Метод equals() обозначает отношение эквивалентности объектов. Эквивалентным называется отношение, которое является симметричным, транзитивным, рефлексивным и постоянным.
  • Рефлексивность: для любого ненулевого x, x.equals(x) вернет true;
  • Транзитивность: для любого ненулевого x, y и z, если x.equals(y) и y.eqals(z) вернет true, тогда и x.equals(z) вернет true;
  • Постоянство: для любых объектов x и y x.equals(y) возвращает одно и тоже, если информация, используемая в сравнениях, не меняется;
  • Симметричность: для любого ненулевого x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) вернет true.

воскресенье, 29 января 2012 г.

пятница, 27 января 2012 г.

Объектно-ориентированное программирование. Полиморфизм

В данной статье хотелось бы рассказать об одном из китов объектно-ориентированного программирования – полиморфизме. Что это такое, и как его применять на практике.