Архив за месяц: Октябрь 2017

Виды ссылок в Java

Мы немало уже говорили про Garbage Collector и про то, как именно он работает. Теперь давайте рассмотрим какие бывают ссылки в языке Java и чем они отличаются друг от друга и как их обрабатывает Сборщик Мусора. Для ссылок есть абстрактный класс … Читать далее

Рубрика: Программирование Java | Оставить комментарий

OutOfMemory Пример

В предыдущей статье мы говорили про память в Java и сборщик мусора. В этой статье мы посмотрим на реальном примере как забивается память и приложение выбрасывает исключение OutOfMemory. Для этого создадим простой класс с 2 полями Далее создадим поток (HeavyThread), … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Java Garbage Collection

В предыдущей статье мы обсуждали метод finalize() у класса Object, который вызывался при сборке мусора и рассмотрели 2 случая, в ходе которых было не так понятно как работает Garbage Collection в Java. Поэтому давайте прочитаем оффициальную документацию от Оракла. Garbage Collection … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Java. Класс Object и его методы. Часть 6 — finalize

В первом посте мы рассматривали все методы класса Object. Методы wait, notify и notifyAll мы не будем рассматривать сейчас, так как они относятся к многопоточному программированию, так что вернемся к ним позже. Вкратце, эти методы нужны для управления объектами из … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Java. Класс Object и его методы. Часть 5 — toString

Еще один метод класса Object, который в базовой реализации не является чем бы то ни было полезным и который, следовательно, имеет место быть переопределенным, это toString(). Как видим, в базовой версии метода берется имя класса и добавляется хешкод в обертке … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Java. Класс Object и его методы. Часть 4 — clone

Продолжаем рассматривать методы класса Object. Один из методов, который, на мой взгляд, мало используется программистами — это clone(). Суть метода в том, что он возвращает объект такого же типа, в котором значения всех полей скопированы. То же самое можно сделать … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Java. Класс Object и его методы. Часть 3 — equals

В предыдущем посте мы обсуждали метод hashCode, который используется в методе equals. Как видим в базовой реализации в нем простое сравнивание через оператор == который сравнивает hashCode 2 объектов. Именно поэтому без переопределения метода equals толку от него не особо … Читать далее

Рубрика: Программирование Java | Оставить комментарий

Java. Класс Object и его методы. Часть 2 — hashCode

Итак, в предыдущем посте мы ознакомились со списком методов класса Object и первым методом getClass() (ссылка). Далее идет метод hashCode и опять он помечен как native, но доступен для переопределения. Что важно, оно требует переопределения в классах, но обо всем по … Читать далее

Рубрика: Программирование Java | 1 комментарий

Java. Класс Object и его методы. Часть 1

Изучение любого языка программирования начинается с его базового класса. Так как Java является объектно-ориентированным языком, то это значит, что у любого класса есть класс родитель, которым в Java является класс Object. Мы можем с легкостью посмотреть исходный код этого класса … Читать далее

Рубрика: Программирование Java | Оставить комментарий