Зачем нужны и какие бывают блоки инициализации?
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
☕ Существуют статические и нестатические блоки инициализации.
☕ Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
☕ Несколько блоков инициализации выполняются в порядке следования в коде класса.
☕ Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
☕ Блок инициализации возможно создать и в анонимном классе.
#вопросы_с_собеседований
Блоки инициализации представляют собой код, заключенный в фигурные скобки и размещаемый внутри класса вне объявления методов или конструкторов.
☕ Существуют статические и нестатические блоки инициализации.
☕ Блок инициализации выполняется перед инициализацией класса загрузчиком классов или созданием объекта класса с помощью конструктора.
☕ Несколько блоков инициализации выполняются в порядке следования в коде класса.
☕ Блок инициализации способен генерировать исключения, если их объявления перечислены в throws всех конструкторов класса.
☕ Блок инициализации возможно создать и в анонимном классе.
#вопросы_с_собеседований
Генерируем простой web интерфейс для просмотра таблиц PostgreSQL
Пересмотрев несколько библиотек на GitHub для отображения таблиц, автор остановился на Tabulator, которая из коробки умеет отображать таблицы с сортировкой, фильтрацией и разбивкой на страницы, автоматически распознает типы колонок, с отличной документацией, доступной для понимания не фронтэндером. А также позволяет быстро делать прототип, разрешая настраивать типы отображения поля даже в режиме автоопределения.
Читать статью
Пересмотрев несколько библиотек на GitHub для отображения таблиц, автор остановился на Tabulator, которая из коробки умеет отображать таблицы с сортировкой, фильтрацией и разбивкой на страницы, автоматически распознает типы колонок, с отличной документацией, доступной для понимания не фронтэндером. А также позволяет быстро делать прототип, разрешая настраивать типы отображения поля даже в режиме автоопределения.
Читать статью
Декартово произведение
Декартово произведение (cartesian product) в математике означает комбинацию всех возможных пар элементов из двух множеств. В Java это понятие может использоваться для описания ситуации, когда необходимо создать все возможные комбинации элементов из двух или более наборов данных.
Например, представьте, что у вас есть два множества: A = {1, 2} и B = {a, b}. Декартово произведение этих множеств будет: {(1, a), (1, b), (2, a), (2, b)}.
Проблема декартова произведения может возникнуть, когда вам нужно сгенерировать или обработать все возможные комбинации элементов из двух или более коллекций.
Для решения проблемы декартова произведения можно использовать вложенные циклы, рекурсию или специализированные библиотеки, такие как Apache Commons Collections или Stream API, чтобы более эффективно генерировать и обрабатывать комбинации элементов из разных множеств.
#код
Декартово произведение (cartesian product) в математике означает комбинацию всех возможных пар элементов из двух множеств. В Java это понятие может использоваться для описания ситуации, когда необходимо создать все возможные комбинации элементов из двух или более наборов данных.
Например, представьте, что у вас есть два множества: A = {1, 2} и B = {a, b}. Декартово произведение этих множеств будет: {(1, a), (1, b), (2, a), (2, b)}.
Проблема декартова произведения может возникнуть, когда вам нужно сгенерировать или обработать все возможные комбинации элементов из двух или более коллекций.
Для решения проблемы декартова произведения можно использовать вложенные циклы, рекурсию или специализированные библиотеки, такие как Apache Commons Collections или Stream API, чтобы более эффективно генерировать и обрабатывать комбинации элементов из разных множеств.
#код
Часто ли вы прибегаете к помощи нейросетей в работе?
#интерактив
#интерактив
Что такое ThreadGroup?
ThreadGroup представляет собой класс, предоставляемый Java для создания и управления группами потоков. Он может содержать другие подгруппы потоков, образуя иерархию. Основной целью ThreadGroup является обеспечение единого механизма управления и мониторинга для всех потоков внутри группы.
ThreadGroup предоставляет некоторый уровень организации и управления, но в большинстве современных приложений управление потоками осуществляется с использованием более высокоуровневых конструкций, таких как классы из пакета java.util.concurrent, которые предоставляют более гибкие и безопасные средства для работы с параллельным исполнением.
#код
ThreadGroup представляет собой класс, предоставляемый Java для создания и управления группами потоков. Он может содержать другие подгруппы потоков, образуя иерархию. Основной целью ThreadGroup является обеспечение единого механизма управления и мониторинга для всех потоков внутри группы.
ThreadGroup предоставляет некоторый уровень организации и управления, но в большинстве современных приложений управление потоками осуществляется с использованием более высокоуровневых конструкций, таких как классы из пакета java.util.concurrent, которые предоставляют более гибкие и безопасные средства для работы с параллельным исполнением.
#код
Большой гайд по Spring 5 для начинающих и тех, кто хочет прояснить какие-то забытые моменты.
Смотреть гайд
Смотреть гайд
Очередной #дайджест по Java:
☕ Нагрузочное тестирование API без использования UI
В этой статье автор говорит о нагрузочном тестировании при помощи JMeter-Java-Dsl и реализует первый нагрузочный тест для API с генерацией динамических значений.
☕ Удобная подсветка покрытия кода тестами в Merge Request GitLab
И у GitLab есть свои минусы. Например, разработчики до сих пор не смогли реализовать визуализацию покрытия тестов.
☕Реквием по «Расскажи, как работает HashMap?»
За долгие годы коммерческого опыта автор прошел огромное количество технических собеседований, посвященных Java и друзьям. Менялись интервьюеры и язык повествования, глубина вопросов и количество собеседований, но что‑то оставалось неизменным — «разогревочный» вопрос «расскажи, как работает HashMap?».
☕ Создание аналога Google Фото на Spring Boot
В этом видео автор показывает, как создать приложение, похожее на Google Фото, с помощью Spring Boot.
☕ Нагрузочное тестирование API без использования UI
В этой статье автор говорит о нагрузочном тестировании при помощи JMeter-Java-Dsl и реализует первый нагрузочный тест для API с генерацией динамических значений.
☕ Удобная подсветка покрытия кода тестами в Merge Request GitLab
И у GitLab есть свои минусы. Например, разработчики до сих пор не смогли реализовать визуализацию покрытия тестов.
☕Реквием по «Расскажи, как работает HashMap?»
За долгие годы коммерческого опыта автор прошел огромное количество технических собеседований, посвященных Java и друзьям. Менялись интервьюеры и язык повествования, глубина вопросов и количество собеседований, но что‑то оставалось неизменным — «разогревочный» вопрос «расскажи, как работает HashMap?».
☕ Создание аналога Google Фото на Spring Boot
В этом видео автор показывает, как создать приложение, похожее на Google Фото, с помощью Spring Boot.
Конкатенация
Конкатенация — это операция объединения или склеивания двух или более строк или последовательностей символов для создания новой строки. В общем смысле, это означает соединение элементов в одну последовательность. Этот термин применяется не только к строкам, но и к другим типам данных, которые могут быть объединены.
#код
Конкатенация — это операция объединения или склеивания двух или более строк или последовательностей символов для создания новой строки. В общем смысле, это означает соединение элементов в одну последовательность. Этот термин применяется не только к строкам, но и к другим типам данных, которые могут быть объединены.
#код
Автовайринг в Spring
В среде Spring существует четыре типа автовайринга.
✔️ autowire byName
✔️ autowire byType
✔️ autowire by constructor
✔️ autowiring by @Autowired and @Qualifier annotations
До Spring 3.1 также поддерживалась autowire by autodetect, которая была похожа на автовайринг по конструктору или по типу. Для получения более подробной информации об этих опциях можете обратиться к статье.
В среде Spring существует четыре типа автовайринга.
✔️ autowire byName
✔️ autowire byType
✔️ autowire by constructor
✔️ autowiring by @Autowired and @Qualifier annotations
До Spring 3.1 также поддерживалась autowire by autodetect, которая была похожа на автовайринг по конструктору или по типу. Для получения более подробной информации об этих опциях можете обратиться к статье.
🔍🤖 40 сервисов на базе AI, которые помогут найти работу в 2023 году
Как составить резюме, оптимизировать сопроводительное письмо и найти вакансию в 2023 году? Использовать сервисы на основе искусственного интеллекта. Какие именно — рассказываем в этой статье.
🔗 Читать статью
🔗 Зеркало
Как составить резюме, оптимизировать сопроводительное письмо и найти вакансию в 2023 году? Использовать сервисы на основе искусственного интеллекта. Какие именно — рассказываем в этой статье.
🔗 Читать статью
🔗 Зеркало
Как происходит удаление элементов из ArrayList? Как меняется в этом случае размер ArrayList?
При удалении произвольного элемента из списка, все элементы, находящиеся «правее» смещаются на одну ячейку влево и реальный размер массива (его емкость, capacity) не изменяется никак.
Механизм автоматического «расширения» массива существует, а вот автоматического «сжатия» нет, можно только явно выполнить «сжатие» командой trimToSize().
#вопросы_с_собеседований
При удалении произвольного элемента из списка, все элементы, находящиеся «правее» смещаются на одну ячейку влево и реальный размер массива (его емкость, capacity) не изменяется никак.
Механизм автоматического «расширения» массива существует, а вот автоматического «сжатия» нет, можно только явно выполнить «сжатие» командой trimToSize().
#вопросы_с_собеседований
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека шарписта
Библиотека мобильного разработчика
Библиотека хакера
Библиотека питониста
Библиотека devops’a
Библиотека тестировщика
Библиотека пхпшника
💼Каналы с вакансиями
Вакансии по питону, Django, Flask
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии по C#, .NET, Unity
Вакансии по PHP, Symfony, Laravel
Вакансии по DevOps & SRE
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Метод Character.toString()
Метод Character.toString() используется для преобразования символа (char) в строку (String).
Метод принадлежит классу Character и полезен, когда нужно конвертировать символ в строку для вывода или конкатенации.
#код
Метод Character.toString() используется для преобразования символа (char) в строку (String).
Метод принадлежит классу Character и полезен, когда нужно конвертировать символ в строку для вывода или конкатенации.
#код
Все о нестатических блоках инициализации в Java
Статья о возможножности инициализировать поля во время создания объекта с помощью нестатических блоков инициализации.
Читать статью
Статья о возможножности инициализировать поля во время создания объекта с помощью нестатических блоков инициализации.
Читать статью
Метод doPost()
Метод doPost() является одним из методов, используемых для обработки HTTP запросов в Java сервлетах. Сервлеты представляют собой Java классы, которые выполняют обработку HTTP запросов и генерацию HTTP ответов. doPost() используется для обработки HTTP POST запросов от клиентов.
Чтобы связать этот сервлет с определенным URL, вы должны настроить маппинг в файле web.xml вашего веб-приложения или с использованием аннотаций (если ваша версия сервлетов поддерживает аннотации).
#код
Метод doPost() является одним из методов, используемых для обработки HTTP запросов в Java сервлетах. Сервлеты представляют собой Java классы, которые выполняют обработку HTTP запросов и генерацию HTTP ответов. doPost() используется для обработки HTTP POST запросов от клиентов.
Чтобы связать этот сервлет с определенным URL, вы должны настроить маппинг в файле web.xml вашего веб-приложения или с использованием аннотаций (если ваша версия сервлетов поддерживает аннотации).
#код
Очередной #дайджест по Java:
☕ Ускоряем java-рефлексию в 2023
Улучшенная статья про рефлексию: когда машина «выходит наружу», копается в своих внутренностях и «возвращается обратно», доставляя пользователю полученную информацию или вызывая методы/конструкторы.
☕ Релиз Jmix 2.0 — новой версии платформы для быстрой разработки бизнес-приложений на Java
Выпуск Jmix 2.0 — важная веха в развитии платформы. В первую очередь разработчики провели глобальное обновление технологического стека, что гарантирует актуальность в долгосрочной перспективе.
☕ Компилирование «железного» бинарника Java-программы Google Closure Stylesheets с GraalVM
Автор рассказывает об улучшениях, которые добавил в свой форк.
☕ Наука о данных с Python и Java: динамичный дуэт для современной аналитики
В постоянно развивающемся мире науки о данных два языка программирования выделяются как гиганты в своих областях: Python и Java. Python приобрел известность как лингва-франка науки о данных, предлагая множество библиотек и инструментов, предназначенных для анализа данных, машинного обучения и визуализации. Между тем Java, известная своей надежностью и масштабируемостью, находит свою нишу в создании высокопроизводительных, готовых к использованию конвейеров данных и приложений.
☕ Ускоряем java-рефлексию в 2023
Улучшенная статья про рефлексию: когда машина «выходит наружу», копается в своих внутренностях и «возвращается обратно», доставляя пользователю полученную информацию или вызывая методы/конструкторы.
☕ Релиз Jmix 2.0 — новой версии платформы для быстрой разработки бизнес-приложений на Java
Выпуск Jmix 2.0 — важная веха в развитии платформы. В первую очередь разработчики провели глобальное обновление технологического стека, что гарантирует актуальность в долгосрочной перспективе.
☕ Компилирование «железного» бинарника Java-программы Google Closure Stylesheets с GraalVM
Автор рассказывает об улучшениях, которые добавил в свой форк.
☕ Наука о данных с Python и Java: динамичный дуэт для современной аналитики
В постоянно развивающемся мире науки о данных два языка программирования выделяются как гиганты в своих областях: Python и Java. Python приобрел известность как лингва-франка науки о данных, предлагая множество библиотек и инструментов, предназначенных для анализа данных, машинного обучения и визуализации. Между тем Java, известная своей надежностью и масштабируемостью, находит свою нишу в создании высокопроизводительных, готовых к использованию конвейеров данных и приложений.
Когда вы последний раз использовали Copilot?
#интерактив
#интерактив
👩💻 Java. Распараллеливаем вычисления на пуле потоков.
Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.
Разбираемся, как можно по простому ускорить вычисления с помощью параллельного выполнения на пуле потоков.
Что произойдет при вызове Iterator.next() без предварительного вызова Iterator.hasNext()?
Если итератор указывает на последний элемент коллекции, то возникнет исключение NoSuchElementException, иначе будет возвращен следующий элемент.
#вопросы_с_собеседований
Если итератор указывает на последний элемент коллекции, то возникнет исключение NoSuchElementException, иначе будет возвращен следующий элемент.
#вопросы_с_собеседований
Менеджеры компоновки
Менеджеры компоновки (Layout Manager) в Java используются для управления размещением компонентов в контейнерах, таких как JFrame, JPanel, или другие контейнеры Swing. Они обеспечивают автоматическое распределение компонентов в контейнере в соответствии с определенными правилами размещения.
#код
Менеджеры компоновки (Layout Manager) в Java используются для управления размещением компонентов в контейнерах, таких как JFrame, JPanel, или другие контейнеры Swing. Они обеспечивают автоматическое распределение компонентов в контейнере в соответствии с определенными правилами размещения.
#код
Что такое абстрактные классы и методы в Java
Абстрагирование — это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны.
Смотреть статью
Абстрагирование — это процесс, в ходе которого от пользователя скрываются многие детали реализации, а предоставляются только те детали, которые действительно важны.
Смотреть статью