Что такое «анонимные классы»? Где они применяются?
Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр.
Анонимные классы имеют несколько ограничений:
• Их использование разрешено только в одном месте программы - месте его создания;
• Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться;
• Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа.
Анонимные классы обычно применяются для:
• создания объекта функции (function object), например, реализация интерфейса Comparator;
• создания объекта процесса (process object), такого как экземпляры классов Thread, Runnable и подобных;
• в статическом методе генерации;
• инициализации открытого статического поля final, которое соответствует сложному перечислению типов, когда для каждого экземпляра в перечислении требуется отдельный подкласс.
#вопросы_с_собеседований
Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр.
Анонимные классы имеют несколько ограничений:
• Их использование разрешено только в одном месте программы - месте его создания;
• Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться;
• Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа.
Анонимные классы обычно применяются для:
• создания объекта функции (function object), например, реализация интерфейса Comparator;
• создания объекта процесса (process object), такого как экземпляры классов Thread, Runnable и подобных;
• в статическом методе генерации;
• инициализации открытого статического поля final, которое соответствует сложному перечислению типов, когда для каждого экземпляра в перечислении требуется отдельный подкласс.
#вопросы_с_собеседований
Напишите минимальный неблокирующий стек (всего два метода — push() и pop()) с использованием Semaphore.
Ответ на картинке.
#код
Ответ на картинке.
#код
Java: перспективы, тренды и почему новичкам стоит его знать
В этой статье собрали мнения ведущих экспертов в области Java из Artezio, Booking, Axiom JDK и др. Они обсуждают актуальные вопросы, связанные с использованием Java в современной разработке, дают советы новичкам и делятся своими мыслями о будущем этого языка программирования.
Смотреть статью
В этой статье собрали мнения ведущих экспертов в области Java из Artezio, Booking, Axiom JDK и др. Они обсуждают актуальные вопросы, связанные с использованием Java в современной разработке, дают советы новичкам и делятся своими мыслями о будущем этого языка программирования.
Смотреть статью
🗺️💼 Трудоустройство в России и за рубежом: в чем ключевые отличия
Давно мечтали устроиться на работу в иностранную IT-компанию и получать зарплату в долларах или евро? Давайте разберемся, как происходит отбор за рубежом и чем он отличается от трудоустройства в России.
🔗 Основной сайт
🔗 Зеркало
Давно мечтали устроиться на работу в иностранную IT-компанию и получать зарплату в долларах или евро? Давайте разберемся, как происходит отбор за рубежом и чем он отличается от трудоустройства в России.
🔗 Основной сайт
🔗 Зеркало
Что делает метод intern() в классе String?
Метод intern() используется для сохранения строки в пуле строк или получения ссылки, если такая строка уже находится в пуле.
#вопросы_с_собеседований
#вопросы_с_собеседований
🤝 5 soft skills, которые помогут тебе дорасти до Senior-разработчика
Как думаешь, что нужно уметь, чтобы стать крутым Senior-разработчиком или даже создать свой успешный стартап? Спойлер: нет, не только хорошо кодить.
🔗 Основной сайт
🔗 Зеркало
Как думаешь, что нужно уметь, чтобы стать крутым Senior-разработчиком или даже создать свой успешный стартап? Спойлер: нет, не только хорошо кодить.
🔗 Основной сайт
🔗 Зеркало
AMD — вечная канарейка Intel
Если прямо сейчас посмотреть на рынок процессоров, то может сложиться обманчивое впечатление, что AMD на равных конкурирует за место под солнцем с компанией Intel. Кто-то может посчитать, что так было всегда. Реальность же заключается в том, что если Intel всю свою историю колебалась между полной гегемонией и просто доминированием на рынке процессоров для персональных компьютеров и серверов, то AMD в хорошие моменты своей истории была строго второй, а в плохие — находилась буквально при смерти.
Читать статью
Если прямо сейчас посмотреть на рынок процессоров, то может сложиться обманчивое впечатление, что AMD на равных конкурирует за место под солнцем с компанией Intel. Кто-то может посчитать, что так было всегда. Реальность же заключается в том, что если Intel всю свою историю колебалась между полной гегемонией и просто доминированием на рынке процессоров для персональных компьютеров и серверов, то AMD в хорошие моменты своей истории была строго второй, а в плохие — находилась буквально при смерти.
Читать статью
Какие сериалы/фильмы о программировании мотивируют вас продолжать обучение?
#интерактив
#интерактив
Получаем порядковый номер элемента в enum
Метод ordinal() используется с перечислениями (enum). Он возвращает порядковый номер константы перечисления, начиная с нуля.
В этом примере создается перечисление Colours с четырьмя константами: Red, Green, Brown и Yellow. В методе main создаются переменные для каждой из этих констант и выводятся их порядковые номера с помощью метода ordinal().
Метод ordinal() используется с перечислениями (enum). Он возвращает порядковый номер константы перечисления, начиная с нуля.
В этом примере создается перечисление Colours с четырьмя константами: Red, Green, Brown и Yellow. В методе main создаются переменные для каждой из этих констант и выводятся их порядковые номера с помощью метода ordinal().
Получаем порядковый номер элемента в enum
Метод ordinal() используется с перечислениями (enum). Он возвращает порядковый номер константы перечисления, начиная с нуля.
В этом примере создается перечисление Colours с четырьмя константами: Red, Green, Brown и Yellow. В методе main создаются переменные для каждой из этих констант и выводятся их порядковые номера с помощью метода ordinal().
Метод ordinal() используется с перечислениями (enum). Он возвращает порядковый номер константы перечисления, начиная с нуля.
В этом примере создается перечисление Colours с четырьмя константами: Red, Green, Brown и Yellow. В методе main создаются переменные для каждой из этих констант и выводятся их порядковые номера с помощью метода ordinal().
Числа с плавающей точкой для гуманитариев. Что это такое и как они работают
На данную тему уже написано большое количество статей, однако многие из них используют пугающие математические формулы и нотации, что может быть сложно для понимания новичкам. В этой статье автор простым языком попытался раскрыть данную тему и помочь решить ряд вопросов.
Читать статью
На данную тему уже написано большое количество статей, однако многие из них используют пугающие математические формулы и нотации, что может быть сложно для понимания новичкам. В этой статье автор простым языком попытался раскрыть данную тему и помочь решить ряд вопросов.
Читать статью
Алгоритмы компрессии данных: принципы и эффективность
В современном информационном обществе объем данных стремительно растет, и с каждым годом все больше информации генерируется и обрабатывается. В связи с этим важным аспектом стало умение эффективно управлять данными, чтобы не только сохранить информацию, но и оптимизировать ее использование и передачу. Одним из основных инструментов для достижения этой цели является компрессия данных.
Читать статью
В современном информационном обществе объем данных стремительно растет, и с каждым годом все больше информации генерируется и обрабатывается. В связи с этим важным аспектом стало умение эффективно управлять данными, чтобы не только сохранить информацию, но и оптимизировать ее использование и передачу. Одним из основных инструментов для достижения этой цели является компрессия данных.
Читать статью
⚡️ Как стать Java Junior разработчиком
Видео представляет собой пошаговый план, как стать разработчиком Java Junior в кратчайшие сроки. В нём есть ссылки на все необходимые для этого материалы.
Также автор делится своим опытом поиска работы и рассказывает в каком порядку и что нужно изучать чтобы стать Java Junior Developer.
Смотреть видео
Видео представляет собой пошаговый план, как стать разработчиком Java Junior в кратчайшие сроки. В нём есть ссылки на все необходимые для этого материалы.
Также автор делится своим опытом поиска работы и рассказывает в каком порядку и что нужно изучать чтобы стать Java Junior Developer.
Смотреть видео
YouTube
Как стать Java Junior разработчиком за 4 месяца
В этом видео я рассказываю как стал Java Junior разработчиком за 4 месяца и нашёл свою первую работу программистом. На протяжении всего видео даю рекомендации, как изучать Джава, откуда брать информацию и что делать, чтобы устроиться на первую работу.
ПЛАН…
ПЛАН…
🔥 Теоретический минимум по Computer Science
Computer Science рассказывает о том, как работает компьютер, что такое двоичная система, что за структуры данных и как их использовать.
Это видео — база по Computer Science, которую должен знать каждый программист. Здесь про блок схемы, вентили и работу двоичных систем.
Смотреть видео
Computer Science рассказывает о том, как работает компьютер, что такое двоичная система, что за структуры данных и как их использовать.
Это видео — база по Computer Science, которую должен знать каждый программист. Здесь про блок схемы, вентили и работу двоичных систем.
Смотреть видео
Маркерный интерфейс
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:
☕️ Serializable используется для явного указания того, что этот класс может быть сериализован;
☕️ Cloneable позволяет клонировать объекты с помощью метода clone (без интерфейса Cloneable этот метод выдает исключение CloneNotSupportedException);
☕️ Remote используется в RMI для указания интерфейса, методы которого можно вызывать удаленно.
Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определенного свойства. Наиболее широко известными маркерами в стандартной библиотеке Java являются следующие:
☕️ Serializable используется для явного указания того, что этот класс может быть сериализован;
☕️ Cloneable позволяет клонировать объекты с помощью метода clone (без интерфейса Cloneable этот метод выдает исключение CloneNotSupportedException);
☕️ Remote используется в RMI для указания интерфейса, методы которого можно вызывать удаленно.
❗️Целых два новых канала!
Хорошая новость для джавистов: мы запустили два канала, чтобы вам было еще проще практиковаться и готовиться к офферу мечты 💪
👉Библиотека Java для собеса — канал, в котором мы будем выкладывать наши уже традиционные вопросы с собеседований (и, конечно же, ответы на них)
👉Библиотека задач по Java — канал с задачами, тестами, квизами и, конечно, кодом
Бегом подписываться 🏃
Хорошая новость для джавистов: мы запустили два канала, чтобы вам было еще проще практиковаться и готовиться к офферу мечты 💪
👉Библиотека Java для собеса — канал, в котором мы будем выкладывать наши уже традиционные вопросы с собеседований (и, конечно же, ответы на них)
👉Библиотека задач по Java — канал с задачами, тестами, квизами и, конечно, кодом
Бегом подписываться 🏃
Очередной #дайджест статей по Java:
☕️ Автоматически ищем техдолг с помощью RefactorFirst
☕️ Тестирование Spring Boot через MockMVC
☕️ Строим свой SSO
☕️ Простыми словами об InlineKeyboard в Телеграмм ботах на java
☕️ Новые фичи в IDEA 2023.2 EAP 7
☕️ Собственные исключения в Java: как управлять ошибками в вашем приложении
☕️ Введение в многопоточность в Java очень простым языком: Процессы, Потоки и Основы синхронизации
☕️ Автоматически ищем техдолг с помощью RefactorFirst
☕️ Тестирование Spring Boot через MockMVC
☕️ Строим свой SSO
☕️ Простыми словами об InlineKeyboard в Телеграмм ботах на java
☕️ Новые фичи в IDEA 2023.2 EAP 7
☕️ Собственные исключения в Java: как управлять ошибками в вашем приложении
☕️ Введение в многопоточность в Java очень простым языком: Процессы, Потоки и Основы синхронизации
Пользуетесь ли вы какими-либо иностранными новостными ресурсами по программированию на регулярной основе? Если да, то какими?
#интерактив
#интерактив