Что такое механизм try-with-resources?
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
Данная конструкция, которая появилась в Java 7, позволяет использовать блок try-catch не заботясь о закрытии ресурсов, используемых в данном сегменте кода. Ресурсы объявляются в скобках сразу после try, а компилятор уже сам неявно создаёт секцию finally, в которой и происходит освобождение занятых в блоке ресурсов. Под ресурсами подразумеваются сущности, реализующие интерфейс java.lang.Autocloseable.
Стоит заметить, что блоки catch и явный finally выполняются уже после того, как закрываются ресурсы в неявном finally.
❤18👍7❤🔥1
Готовы узнать, как настроить мониторинг RabbitMQ с помощью Telegraf, InfluxDB и Grafana?
🚀Ждем вас на открытом вебинаре 13 августа в 20:00 мск, где вы разберете:
- как настроить Telegraf для сбора метрик RabbitMQ;
- конфигурацию InfluxDB для хранения и обработки метрик;
- создание и настройку дашбордов в Grafana для мониторинга RabbitMQ;
- персонализацию дашбордов для отображения нужной информации;
- практическое руководство по работе с Grafana для визуализации данных.
👨💻 Урок будет полезен backend- и fullstack-разработчикам, DevOps-инженерам, архитекторам ПО и специалистам по мониторингу и анализу данных.
Спикер — эксперт по тестированию, работает в компании-разработчике инструмента нагрузочного тестирования, один из администраторов крупнейшего канала нагрузочных тестировщиков.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cz0hqL
🚀Ждем вас на открытом вебинаре 13 августа в 20:00 мск, где вы разберете:
- как настроить Telegraf для сбора метрик RabbitMQ;
- конфигурацию InfluxDB для хранения и обработки метрик;
- создание и настройку дашбордов в Grafana для мониторинга RabbitMQ;
- персонализацию дашбордов для отображения нужной информации;
- практическое руководство по работе с Grafana для визуализации данных.
👨💻 Урок будет полезен backend- и fullstack-разработчикам, DevOps-инженерам, архитекторам ПО и специалистам по мониторингу и анализу данных.
Спикер — эксперт по тестированию, работает в компании-разработчике инструмента нагрузочного тестирования, один из администраторов крупнейшего канала нагрузочных тестировщиков.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cz0hqL
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❤5👍2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🎉2
Что делать, когда уже выучил Java Core, но его не хватает для трудоустройства?
С ростом конкуренции на рынке труда становится все сложнее выделиться среди других ИТ-специалистов и получить оффер. К тому же большинство работодателей ожидают от кандидатов владения масштабным стеком технологий.
Комплексная программа «Java-разработчик. Middle Developer» в гибридном формате с упором на практику с экспертом поможет превратить ваши навыки Java в профессиональное мастерство!
В рамках обучения вы будете работать над реальными проектами и сможете получить ценный практический опыт в области разработки.
✅ Старт курса — август 2024 г. Набор уже идет!
✅ Рассрочка без %. Онлайн-формат.
✅ Удобное расписание.
Начните с бесплатного мини-курса, чтобы понять подойдет вам обучение или нет.
С ростом конкуренции на рынке труда становится все сложнее выделиться среди других ИТ-специалистов и получить оффер. К тому же большинство работодателей ожидают от кандидатов владения масштабным стеком технологий.
Комплексная программа «Java-разработчик. Middle Developer» в гибридном формате с упором на практику с экспертом поможет превратить ваши навыки Java в профессиональное мастерство!
В рамках обучения вы будете работать над реальными проектами и сможете получить ценный практический опыт в области разработки.
✅ Старт курса — август 2024 г. Набор уже идет!
✅ Рассрочка без %. Онлайн-формат.
✅ Удобное расписание.
Начните с бесплатного мини-курса, чтобы понять подойдет вам обучение или нет.
👍5❤2🔥2
Почему Map не наследуется от Collection?
Это связано с различиями в их целях и использовании. Интерфейс Collection представляет собой общие методы для работы с группой объектов, таких как добавление, удаление и проверка наличия элемента. Он ориентирован на работу с коллекциями объектов, где каждый объект является элементом коллекции.
Интерфейс Map, с другой стороны, представляет собой отображение ключей на значения. Он не рассматривает элементы коллекции как отдельные объекты, а предоставляет доступ к значению, связанному с определенным ключом. Это более общий и мощный подход, который не сводится к работе с отдельными элементами коллекции.
Интерфейс Map включает в себя методы для управления парами ключ-значение и обеспечивает эффективный доступ к значениям по ключу. По этим причинам он не является подтипом Collection. Однако, классы, реализующие интерфейс Map, часто предоставляют методы, которые позволяют работать с элементами коллекции или возвращают представление коллекции ключей, значений или записей (ключ-значение).
Таким образом, хотя Map и Collection предоставляют абстракции для работы с группой объектов, они решают разные задачи, и поэтому не существует иерархического отношения наследования между ними.
Это связано с различиями в их целях и использовании. Интерфейс Collection представляет собой общие методы для работы с группой объектов, таких как добавление, удаление и проверка наличия элемента. Он ориентирован на работу с коллекциями объектов, где каждый объект является элементом коллекции.
Интерфейс Map, с другой стороны, представляет собой отображение ключей на значения. Он не рассматривает элементы коллекции как отдельные объекты, а предоставляет доступ к значению, связанному с определенным ключом. Это более общий и мощный подход, который не сводится к работе с отдельными элементами коллекции.
Интерфейс Map включает в себя методы для управления парами ключ-значение и обеспечивает эффективный доступ к значениям по ключу. По этим причинам он не является подтипом Collection. Однако, классы, реализующие интерфейс Map, часто предоставляют методы, которые позволяют работать с элементами коллекции или возвращают представление коллекции ключей, значений или записей (ключ-значение).
Таким образом, хотя Map и Collection предоставляют абстракции для работы с группой объектов, они решают разные задачи, и поэтому не существует иерархического отношения наследования между ними.
🔥26👍8❤5😁2
На открытом уроке курса «Java Developer. Advanced» разберем, как просматривать и читать байт код классов и для чего это может быть нужно. Научитесь создавать утилиты для изменения байт кода существующих классов в runtime. Это знание поможет вам улучшить производительность ваших приложений и решать сложные задачи.
Вебинар будет полезен Java-разработчикам, которые сталкиваются с вопросами производительности приложений.
Встречаемся 7 августа в 20:00 мск.
Спикер — Tech Lead в одном из крупнейших российских банков и кандидат технических наук.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤2🔥2
java -jar schemaspy.jar -t mssql05 -dp C:/sqljdbc4-3.0.jar -db DATABASE -host SERVER -port 1433 -s dbo -u USER -p PASSWORD -o DIRECTORY
Обязательно попробуйте SchemaSpy, если вдруг кто не был знаком с этим инструментом.
SchemaSpy сильно упрощает создание документации БД, построение сопутствующих диаграмм и тому подобного.
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤6🔥2
Sync vs Async: какой способ связи между микросервисами выбрать?
14 августа в 20:00 мск узнайте, как оптимизировать межсервисное взаимодействие и сделать вашу архитектуру непробиваемой.
Мы разберем основные типы межсервисного взаимодействия: синхронное и асинхронное API. Вы узнаете плюсы и минусы каждого подхода, а также поймете важность версионирования API. Мы расскажем о балансе между оркестрацией и хореографией, различиях между Anemic API и Rich API и введем вас в мир IDL (Interface Definition Language) и принципа «API design first».
👨💻🛠👨🏻💻 Вебинар подходит разработчикам и архитекторам ПО, работающим с микросервисной архитектурой, а также backend и fullstack-разработчикам, стремящимся улучшить межсервисное взаимодействие. DevOps-инженеры и специалисты по API дизайну и интеграции также найдут здесь массу полезной информации.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить занятие: https://vk.cc/cz2V8N
14 августа в 20:00 мск узнайте, как оптимизировать межсервисное взаимодействие и сделать вашу архитектуру непробиваемой.
Мы разберем основные типы межсервисного взаимодействия: синхронное и асинхронное API. Вы узнаете плюсы и минусы каждого подхода, а также поймете важность версионирования API. Мы расскажем о балансе между оркестрацией и хореографией, различиях между Anemic API и Rich API и введем вас в мир IDL (Interface Definition Language) и принципа «API design first».
👨💻🛠👨🏻💻 Вебинар подходит разработчикам и архитекторам ПО, работающим с микросервисной архитектурой, а также backend и fullstack-разработчикам, стремящимся улучшить межсервисное взаимодействие. DevOps-инженеры и специалисты по API дизайну и интеграции также найдут здесь массу полезной информации.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить занятие: https://vk.cc/cz2V8N
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍5❤3🔥2
System.arraycopy
System.arraycopy используется для копирования элементов из одного массива в другой. Этот метод предоставляет эффективный способ копирования данных между массивами. Синтаксис System.arraycopy:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Параметры метода включают:
src: Исходный массив, из которого вы хотите скопировать элементы.
srcPos: Начальная позиция в исходном массиве, с которой начнется копирование.
dest: Целевой массив, в который вы хотите скопировать элементы.
destPos: Начальная позиция в целевом массиве, куда будут скопированы элементы.
length: Количество элементов, которое вы хотите скопировать.
System.arraycopy используется для копирования элементов из одного массива в другой. Этот метод предоставляет эффективный способ копирования данных между массивами. Синтаксис System.arraycopy:
public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
Параметры метода включают:
src: Исходный массив, из которого вы хотите скопировать элементы.
srcPos: Начальная позиция в исходном массиве, с которой начнется копирование.
dest: Целевой массив, в который вы хотите скопировать элементы.
destPos: Начальная позиция в целевом массиве, куда будут скопированы элементы.
length: Количество элементов, которое вы хотите скопировать.
👍18❤6🔥3☃1
Не знаете, как правильно реализовать аварийное восстановление (DR) и высокую доступность (HA)?
А теперь представьте, что вы освоили основы DR и HA, понимаете их взаимосвязь и умеете применять архитектурные паттерны для обеспечения надежности и доступности.
Присоединяйтесь к открытому вебинару «Связь DR и HA в современных архитектурных решениях» 14 августа в 20:00 мск и сделайте этот прыжок в будущее! Там мы обсудим все эти проблемы и даже больше, а также разберем возникающие вопросы.
💻 Урок будет полезен Backend- и Fullstack-разработчикам, DevOps-инженерам, архитекторам ПО, IT-менеджерам и руководителям проектов.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cz48I4
А теперь представьте, что вы освоили основы DR и HA, понимаете их взаимосвязь и умеете применять архитектурные паттерны для обеспечения надежности и доступности.
Присоединяйтесь к открытому вебинару «Связь DR и HA в современных архитектурных решениях» 14 августа в 20:00 мск и сделайте этот прыжок в будущее! Там мы обсудим все эти проблемы и даже больше, а также разберем возникающие вопросы.
💻 Урок будет полезен Backend- и Fullstack-разработчикам, DevOps-инженерам, архитекторам ПО, IT-менеджерам и руководителям проектов.
🔴 Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cz48I4
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
❤6👍4🔥2
<properties>
<sonar.sources>src/main/java,src/main/webapp</sonar.sources>
</properties>
SonarSource — это анализатор кода для Java-проектов, помогающий писать чистый код.
SonarSource имеет 600+ правил для анализа кода + можно создавать собственные правила;
также анализатор позволяет отслеживать разные метрики, такие как когнитивная сложность кода
@javalib #java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤4🔥2
📚 Пройди тест на знание Java и получи доступ к 7️⃣ 2️⃣ открытым урокам по Java
Два открытых урока можно посмотреть без регистрации и оценить формат обучения. Для доступа ко всем открытым урокам из курса «Java Developer. Professional» от OTUS необходимо пройти входное тестирование: ответить на 20 вопросов и уложиться в тайминг.
📊 -Курс рассчитан на профессионалов с практическим опытом работы на Java.
На курсе вы освоите:
- создание современных Java-приложений;
- основы функционирования JVM (сборка мусора, byteCode);
- приемы применения многопоточности;
- решение задач уровня Middle+;
- современные фреймворки Spring WebFlux, Kafka, реактивный Postgres и Kubernetes;
- написание кода чище и быстрее.
Забудьте о скучном обучении — здесь вас ждут настоящие челленджи и нестандартные практические решения. А еще сильные проекты для портфолио и карьерный сапорт! 📅 Старт группы уже 29 августа 2024г . Доступна рассрочка на обучение.
➡️ НАЧАТЬ ТЕСТИРОВАНИЕ
Два открытых урока можно посмотреть без регистрации и оценить формат обучения. Для доступа ко всем открытым урокам из курса «Java Developer. Professional» от OTUS необходимо пройти входное тестирование: ответить на 20 вопросов и уложиться в тайминг.
📊 -
- создание современных Java-приложений;
- основы функционирования JVM (сборка мусора, byteCode);
- приемы применения многопоточности;
- решение задач уровня Middle+;
- современные фреймворки Spring WebFlux, Kafka, реактивный Postgres и Kubernetes;
- написание кода чище и быстрее.
Забудьте о скучном обучении — здесь вас ждут настоящие челленджи и нестандартные практические решения. А еще сильные проекты для портфолио и карьерный сапорт!
➡️ НАЧАТЬ ТЕСТИРОВАНИЕ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍4🔥2