Архив рубрики: Программирование Java

Рубрика о программировании, точнее о языке Java

Агрегация и композиция или обход множественного наследования в Java

Когда нас спрашивают про принципы ООП многие (большинство новичков) говорят лишь о 3(4) принципах — Инкапсуляция, Наследование, Полиморфизм (+Абстракция). Некоторые также перчисляют принципы SOLID. Но лишь немногие также вспоминают про еще 2 понятия, такие как Агрегация и Композиция (они являются … Читать далее

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

Принципы DRY, KISS, YAGNI

В предыдущей статье мы рассмотрели принципы SOLID (если вы не читали этот пост, то настоятельно рекомендую ознакомиться с ним перед тем как читать этот). Наряду с ними есть еще пару принципов, следуя которым ваш код будет более чистым. Итак, первый принцип … Читать далее

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

Принципы SOLID (продолжение ООП)

В предыдущей статье мы рассмотрели базовые принципы ООП (инкапсуляция, наследование и полиморфизм). Также многие стараются придерживаться принципов SOLID, которые являются чем-то более расширенным, чем основные принципы ООП. Итак, давайте рассмотрем каждый из 5 принципов. S — Single responsibility — Принцип … Читать далее

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

Объектно Ориентированное Программирование Java ООП

Давайте поговорим о том, как мы пишем код. Скорей всего все начинающие программисты вспомнят свой первый более менее сложный код, который выглядел одной портянкой в мейн методе, что напоминал больше процедурный язык (сделать сначала первое, потом второе и т.д.). Изначально … Читать далее

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

Виды ссылок в 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 | Оставить комментарий