Singleton – это сорт виски или что-то важное в Java?
Если вы любите хороший виски, то, возможно, слышали о The Singleton – известном бренде шотландского виски. Но если вы пишете на Java, слово Singleton (Одиночка) для вас – это один…
Если вы любите хороший виски, то, возможно, слышали о The Singleton – известном бренде шотландского виски. Но если вы пишете на Java, слово Singleton (Одиночка) для вас – это один…
Немного пофилософствуем о сути программирования, как мыслительного процесса. Да, нужно много знать, однако само изобилие знаний еще не гарантирует написание кода. “Потому что во многой мудрости много печали; и кто…
Принципы применения “чистого кода” для методов позволяют улучшить читаемость, сопровождение и тестируемость кода. Вот основные правила, которые помогают создавать правильный, "чистый" код в методах: 1. Метод должен быть коротким •…
"Чистый код" – это код, который читается как хорошо написанная книга, а не как загадочный шифр. “Чистый код” в контексте наименований переменных означает использование таких имен переменных, которые делают код…
Расскажи все, что ты знаешь обо мне. Начни с моей персональной информации - имя, возраст, опиши мой род деятельности, опиши мой характер. Конечно, Леонид, вот что я знаю о вас:…
Ikigai — это японская концепция, которая в переводе означает «причина быть» или «причина для жизни». Она представляет собой пересечение четырех сфер жизни: 1. То, что вы любите (Ваши страсти и…
Поговорим про Stream API. Верно ли, что для работы stream() нужет spliterator()? Или это неверное утверждение? На самом деле, для работы stream() напрямую Spliterator не обязателен. Однако Spliterator — это…
Объектно-ориентированное программирование (ООП) зародилось в 1960-х годах благодаря работе Оле-Йохана Даля и Кристена Нюгорда, двух норвежских компьютерных ученых. Они разработали первый объектно-ориентированный язык программирования Simula (в оригинальной версии 'Simula 67').…
Английское слово "map" переводится на русский как "карта". Но в программировании оно также может подразумевать: Отображение или сопоставление — поскольку в структуре данных Map каждому ключу сопоставляется определённое значение, что…
Для чего, для каких задач используют Map<K, V> ? Интерфейс Map<K, V> и объекты на основе его реализаций – HashMap< K, V> или TreeMap<K, V> в Java используется для хранения…
Красно-черное дерево — это особый вид бинарного дерева поиска, который "самобалансируется", чтобы сохранить быструю скорость работы для основных операций: вставки, удаления и поиска. Балансировка помогает сделать все действия эффективными даже…
Роберт К, один из моих лучших учеников, подготовил рассказ о рекурсии, которую не так уж часто используют, и уж совсем редко объясняют... https://youtu.be/f3fRCjB4Evk
ArrayList гибок и услужлив, как прекрасная восточная служанка. С ним не надо думать о количестве хранимых в коллекции элементов. В отличие от массивов, ArrayList сам подстроится и увеличит при необходимости…
В Java управление итератором происходит за счет объекта-итератора, который создается для коллекции с помощью метода iterator(). Итератором управляет сам программист, и он отвечает за вызов методов итератора для обхода элементов…
Объект или класс - это неодушевленный предмет. По хорошему нужно говорить, что "что-то вызывает метод". Почему так не говорят? Вы правы! Когда говорят, что «кто-то вызывает метод», это, конечно, образное…
В Java "кто-то", кто имеет доступ к методу, — это любой объект или класс, который имеет к нему доступ в зависимости от модификатора доступа, который указан в сигнатуре метода. Давайте…
Очень часто после изучения JCF у студентов голова идет кругом от изобилия вариантов и неопределенности с выбором той или иной структуры для хранения данных. Хорошо сформулированный вопрос — это уже…
Когда мы пишем такой код: List<String> myList = new ArrayList<>(); мы создаем объект типа ArrayList, но не объект типа List. Дело в том, что List является интерфейсом, а не конкретным…
Является ли static модификатором? Да, в Java static — это модификатор, который используется для обозначения членов класса (переменных, методов, вложенных классов), которые принадлежат самому классу, а не конкретным его экземплярам…
Это просто, как чайник - налил воды, нажал кнопку, получил кипяток. В Java функциональные интерфейсы являются интерфейсами, которые содержат только один абстрактный метод (но могут иметь несколько статических и/или default…
Стирание типов (Type Erasure) — это механизм в языке Java, связанный с обобщениями (generics). Он был введен для того, чтобы обеспечить совместимость с кодом, написанным до появления обобщений, и сводится…
В Java объекты хранятся в динамической памяти, называемой кучей (heap). Управление памятью в Java основано на механизме автоматической сборки мусора (Garbage Collection), который периодически освобождает память, занимаемую объектами, к которым…
Тенденции развития Java связаны с несколькими ключевыми направлениями, которые отражают как эволюцию языка, так и адаптацию к современным вызовам и потребностям разработчиков. Вот основные из них: 1. Частые релизы и…
Нет, строго говоря, интерфейс в Java не является классом. Это отдельный тип конструкции в языке программирования, предназначенный для определения абстрактных контрактов (наборов методов), которые классы могут реализовывать. Хотя интерфейсы и…
Бит В основе всего был, есть и будет "бит" - минимальная единица информации, которую способен хранить и обрабатывать компьютер. Бит содержит в себе ноль или единицу. Компьютер умеет записать в…
Понятие "область видимости" в Java применимо только к переменным или еще к чему-то? Отличный вопрос! В Java понятие области видимости (или scope) относится не только к переменным, но и к…
Язык программирования Java был создан Джеймсом Гослингом и Патриком Ноттоном, сотрудниками компании Sun Microsystems, при поддержке Билла Джоя, сооснователя Sun Microsystems. Компания Sun официально представила язык Java на конференции SunWorld…
Добро пожаловать в мир программирования на Java. Java используется в самых разных областях, включая разработку: Веб-приложений (с использованием таких фреймворков, как Spring), Мобильных приложений (Android-разработка), Корпоративных приложений, Программ для работы…