Как создать потокобезопасный счетчик в Java
Из данной статьи вы узнаете, как на примере простого счетчика писать потокобезопасные программы. В начале автор рассказывает, почему обычный счетчик небезопасен для нескольких потоков. Затем применяет разные техники, повышая его потокобезопасность: synchronization, locks, Unsafe, VarHandle и AtomicInteger.
Читать статью
Из данной статьи вы узнаете, как на примере простого счетчика писать потокобезопасные программы. В начале автор рассказывает, почему обычный счетчик небезопасен для нескольких потоков. Затем применяет разные техники, повышая его потокобезопасность: synchronization, locks, Unsafe, VarHandle и AtomicInteger.
Читать статью
👍4
Журнал «Код» — это база для начинающих программистов. Отвечаем на самые простые вопросы и делимся мудростью.
Подписаться: @thecodemedia
Реклама. ООО "ЯНДЕКС". ИНН 7736207543. erid: 2RanymNEkMN
Подписаться: @thecodemedia
Реклама. ООО "ЯНДЕКС". ИНН 7736207543. erid: 2RanymNEkMN
👍2
23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.
Читать статью
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
Шаблоны проектирования — это испытанный способ решения проблемы в заданном контексте. Они скорее открыты, нежели придуманы, что очевидно и из применения слова «шаблон». Используя шаблон проектирования, вы получаете знания всех сообществ для безопасного решения этой проблемы.
Иногда требуется небольшая доработка, и при корректном применении шаблонов идеальное решение находится. Объектно-ориентированная разработка часто сопряжена с многочисленными задачами, например созданием объектов, структурированием кода, реализацией поведений на основе различных контекстов.
Читать статью
Teletype
23 шаблона проектирования для 99% разработчиков на Java
В этом исчерпывающем руководстве мы изучим все важные шаблоны ООП для написания кода.
👍8🔥5❤1
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать статью
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них 18 пишу на Java.
Сегодня я расскажу об опыте увеличения производительности сетевого стэка и проблемах, с которыми можно столкнуться при использовании NIO в Java.
Эта статья основана на реальной практике борьбы с "OutOfMemory: direct memory".
Читать статью
Teletype
OOM: direct memory при работе с сетью TCP/IP через NIO в Java
Привет, меня зовут Денис Агапитов, я руководитель группы Platform Core компании Bercut. Работаю в компании без малого 20 лет, из них...
👍7
🔄 Бесплатный открытый урок «Транзакции в Kafka» от OTUS.
Что будет на занятии:
- Посмотрим, как чтение данных из Kafka можно сделать транзакционным.
- В ряде случаев требуется дополнительно обеспечить корректность обработки данных – изучим, как это можно реализовать.
Преподаватель Сергей Петрелевич – Java-разработчик, в отрасли с 2003 года. Программировать начал со времен ZX-Spectrum. 8 лет в разработке банковских процессинговых систем пластиковых карт.
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени!
Пройдите бесплатное вступительное тестирование прямо сейчас и зарегистрируйтесь на событие:
➡️ Пройти тест
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
👍4
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.
Читать статью
Что делать, если у команды появилась потребность регулярно оценивать производительность приложения и в динамике сравнивать быстродействие с прошлыми прогонами, а внедрять для этого решение enterprise-уровня - это как из пушки по воробьям? Мы решили пойти немного неочевидным, но продуктивным путём, воспользовавшись опытом реализации функциональных тестов и их интеграции в систему CI/CD, ведь, в сущности, почему нужно обязательно смотреть на тестирование производительности, как на что-то особенное? Что из этого получилось, и с какими проблемами при этом пока ещё приходится мириться - читайте в статье.
Читать статью
Telegraph
Особое мнение: смотрим на нагрузочные тесты как на функциональные
Всем привет! В команде Мир Plat.Form я занимаюсь системами сертификации эмиссии – наш отдел разрабатывает программные продукты для внутренних и внешних пользователей, автоматизирующие сертификацию всего, что в конечном итоге превращается в «кредитку» в вашем…
👍6
Конфигурирование пула соедининений JDBC в Hibernate
Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳
Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.
Приятного чтения!
Читать статью
Возможно, вы не знаете, но Hibernate поддерживает пул соединений JDBC. 😳
Предложенная сегодня статья расскажет о том, как сконфигурировать пул соединений JDBC в Hibernate-приложении, а также в нативном Hibernate-приложении.
Приятного чтения!
Читать статью
Mastertheboss
Configure Hibernate Connection Pool - Mastertheboss
This article discusses how to configure a JDBC Connection Pool in Hibernate applications covering both Hibernate managed applications and Hibernate Native
👍5
Профессия «Java-разработчик». Курс с нуля до трудоустройства за 10 месяцев.
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Готовы попробовать прямо сейчас? Оставьте заявку, и мы расскажем, как пройти бесплатные курсы профессии!
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Готовы попробовать прямо сейчас? Оставьте заявку, и мы расскажем, как пройти бесплатные курсы профессии!
👍4
SDKMan! - менеджер управления версиями Java
Каждый Java-разработчик рано или поздно сталкивается с проблемой управления на своем компьютере несколькими версиями Java, когда для одного проекта требуется Java 8, для другого — Java 11, для третьего — Java 17.
Для упрощения процесса переключения между версиями существует менеджер версий SDKMan!
Подробности в статье.
Читать статью
Каждый Java-разработчик рано или поздно сталкивается с проблемой управления на своем компьютере несколькими версиями Java, когда для одного проекта требуется Java 8, для другого — Java 11, для третьего — Java 17.
Для упрощения процесса переключения между версиями существует менеджер версий SDKMan!
Подробности в статье.
Читать статью
👍8
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.
Читать статью
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно большое количество времени в сравнении с самой разработкой, в связи с этим возникает необходимость оптимизировать этот процесс. В этой статье рассказывается про плагин Sprinter для IntelliJ IDEA, который может помочь значительно сократить время на локальный запуск тестов.
Читать статью
Teletype
Кэширование контекста Spring между запусками тестов: как ускорить процесс локального тестирования
Тестирование является важным элементом процесса разработки программного обеспечения. При этом работа с тестами может занимать достаточно...
👍6
🔥 Переходи на новый уровень в Java и разнообразь свою работу!
Пройди тест по Java и проверь как хорошо ты знаешь язык.
Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя
👉 ПРОЙТИ ТЕСТИРОВАНИЕ
Пройди тест по Java и проверь как хорошо ты знаешь язык.
Ответишь — пройдешь на продвинутый курс «Java Developer. Professional» от OTUS по специальной цене + получишь масстер-класс от преподавателя
👉 ПРОЙТИ ТЕСТИРОВАНИЕ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru👍3
Трансляция: все о Java 21
Восьми часовая трансляция, посвященная выходу Java 21. Она также включает в себя интервью с главным архитектором Java Mark Reinhold, главным архитектором языка Java Brian Goetz. Трансляцию проводят не безызвестные нам Ana-Maria Mihalceanu, Billy Korando и Nicolai Parlog.
Восьми часовая трансляция, посвященная выходу Java 21. Она также включает в себя интервью с главным архитектором Java Mark Reinhold, главным архитектором языка Java Brian Goetz. Трансляцию проводят не безызвестные нам Ana-Maria Mihalceanu, Billy Korando и Nicolai Parlog.
YouTube
All About Java 21 - Launch Event
The Java 21 Launch Event was a live stream here on YouTube. We went over all features in 21, had Q&As with prominent guests, convened with the Java Panel at Oracle Cloud World, and visited JUGs for their opinion on new features.
~~ Chapters ~~
0:00 Countdown…
~~ Chapters ~~
0:00 Countdown…
👍8❤3🔥2
🔥В OTUS продолжается набор в группу курса Kotlin Backend Developer Professional. Это отличная возможность расширить свои возможности разработки на Kotlin!
18 октября в 19:00 мск. приглашаем на бесплатный открытый урок «Возможности Kotlin для создания DSL на примере JsonBuilder».
⚡️На занятии:
- рассмотрим общую теорию о DSL: назначение, особенности, практика;
- попрактикуемся в создание DSL на примере JsonBuilder;
- рассмотрим возможности Kotlin, полезные для создания DSL;
- узнаем, как создавать собственные DSL и применять их при написании приложения;
- познакомимся с замыканиями и extension-методами.
Этот вебинар – мастхэв для начинающих и продвинутых Kotlin-разработчиков, которые хотят повысить свою ценность для работодателей.
Отправьте заявку, чтобы записаться на урок и получить спец. условия при поступлении в группу.
👉Регистрация
❗️Легендой курса является разработка стартапа. В рамках легенды обсуждается реализация экстремальных проектов, в которых сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам. При покупке курса возможна рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
18 октября в 19:00 мск. приглашаем на бесплатный открытый урок «Возможности Kotlin для создания DSL на примере JsonBuilder».
⚡️На занятии:
- рассмотрим общую теорию о DSL: назначение, особенности, практика;
- попрактикуемся в создание DSL на примере JsonBuilder;
- рассмотрим возможности Kotlin, полезные для создания DSL;
- узнаем, как создавать собственные DSL и применять их при написании приложения;
- познакомимся с замыканиями и extension-методами.
Этот вебинар – мастхэв для начинающих и продвинутых Kotlin-разработчиков, которые хотят повысить свою ценность для работодателей.
Отправьте заявку, чтобы записаться на урок и получить спец. условия при поступлении в группу.
👉Регистрация
❗️Легендой курса является разработка стартапа. В рамках легенды обсуждается реализация экстремальных проектов, в которых сочетаются высокая неопределенность и жесткие ограничения по времени и ресурсам. При покупке курса возможна рассрочка платежа. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍5
Ссылки на методы в Java
Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this) и объектов, которые находятся в области видимости, таких как текущий элемент итерации и конечная локальная переменная за пределами лямбды. Лямбду всегда можно упростить, поместив код в другой метод.
Читать статью
Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this) и объектов, которые находятся в области видимости, таких как текущий элемент итерации и конечная локальная переменная за пределами лямбды. Лямбду всегда можно упростить, поместив код в другой метод.
Читать статью
Telegraph
Ссылки на методы в Java
Лямбды — гибкие и анонимные фрагменты кода Лямбды в Java полезны во многих направлениях. Лямбда-выражения можно использовать для более простых задач, а лямбда-утверждения — для более сложных. Лямбды могут вызывать другие методы для текущего объекта (this)…
👍4
Профессия «Java-разработчик». Курс с нуля до трудоустройства за 10 месяцев.
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8KMSti
Освойте язык крупного бизнеса и финансовых технологий и научитесь разрабатывать веб-приложения на фреймворке Spring.
Всесторонне подготовим к собеседованиям и поиску первой работы. Предложим вашу кандидатуру в партнерские компании!
Начнем писать код на первом уроке. На курсах вас ждут сотни упражнений в тренажере, задачки-испытания для тех, кто любит посложнее, а также 5 проектов, в рамках которых вы напишете полноценные приложения для портфолио на GitHub
🎁 Пройдите 5 бесплатных уроков из профессии и получите скидку 10% на курс!
Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8KMSti
👍3
Python и Java: кто заберет золото?
Журнал IEEE Spectrum, издаваемый Институтом инженеров электротехники и электроники, представил свой обзор популярности языков программирования 2023 год, где Java находится в тройке лидеров.
Читать статью
Журнал IEEE Spectrum, издаваемый Институтом инженеров электротехники и электроники, представил свой обзор популярности языков программирования 2023 год, где Java находится в тройке лидеров.
Читать статью
👍7
Проверка кода – важная часть функционала разработчика, этот процесс помогает выявить ошибки, пропуски, уязвимости и стилистические недочеты.
Хотите научиться правильно проводить ревью, чтобы повысить качество своих конечных результатов?
Приходите на бесплатный открытый урок «Code-review онлайн» от OTUS.
✅ Преподаватель курса «С# Developer Professional» Антон Герасименко, .net developer + lead с опытом в разработке более 10 лет:
— проведет code-review нескольких учебных проектов;
— расскажет о сode-review в целом: стоит ли его проводить, кому и когда он полезен.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Не используйте в своем коде паттерн Singleton
Паттерн Singleton популярен среди новичков из-за простоты реализации и возможности глобальной обработки состояний. Но стоит ли его использовать? Из статьи вы узнаете про недостатки Singleton, а также про альтернативу, способную его заменить.
Читать статью
Паттерн Singleton популярен среди новичков из-за простоты реализации и возможности глобальной обработки состояний. Но стоит ли его использовать? Из статьи вы узнаете про недостатки Singleton, а также про альтернативу, способную его заменить.
Читать статью
👍6
За 6 месяцев обучения:
- Научишься создавать современные java-приложения
- Поймешь основы функционирования JVM (сборка мусора, byteCode)
- Освоишь приемы применения многопоточности
- Напишите выпускной проект на любую тему под наставничеством преподавателя
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ruPlease open Telegram to view this post
VIEW IN TELEGRAM
👍3
Аннотации и рефлексия в Java
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать статью
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких, адаптивных и понятных приложений. Аннотации предоставляют способ добавить метаданные к классам, методам и полям, что позволяет компилятору и другим инструментам анализировать код более глубоко. Рефлексия, с другой стороны, позволяет программам анализировать и модифицировать свой собственный состав и поведение во время выполнения.
Читать статью
Teletype
Аннотации и рефлексия в Java
Аннотации и рефлексия являются ключевыми концепциями в Java, предоставляя разработчикам мощные инструменты для создания более гибких...
👍4
Внимание, Backend-разработчики и разработчики мобильных приложений на Java!
Присоединяйтесь к IT_ONE CAREER MEETUP, который состоится 26 октября в 18:00. IT_One – разработчик программного обеспечения для крупных игроков российского бизнеса и государственных органов. Компания реализует крупнейшие проекты цифровой трансформации страны. Спектр задач – от поддержки приложения до разработки концептуальной бизнес-архитектуры уровня корпорации.
IT_ONE CAREER MEETUP #2 - это 2 актуальные темы:
Работа с базами данных: эффективное проектирование и оптимизация запросов для backend-разработчиков
Спикер: Александр Черняев, Старший разработчик, IT_One
Узнаем:
— Зачем нужна оптимизация SQL-запросов;
—Организацию процесса мониторинга и оптимизации SQL-запросов разработчиками;
— Общие рекомендации по проектированию и оптимизация SQL-запросов.
Разработка мобильных приложений на Java: Android-разработка с использованием Java
Спикер: Сергей Мехоношин, Старший Android-разработчик, IT_One
Обсудим:
— Историю Java в Android-разработке;
— Java и 2017 год;
— Какое место занимает Java в мобильной разработке под Android сегодня?
Не упустите возможность узнать о последних тенденциях и лучших практиках в вашей области! Присоединяйтесь к нам и получите ценные знания от опытных специалистов. Ждем вас на IT_ONE CAREER MEETUP!
Дата и время: 26 октября в 18:00
Регистрация и подробности: https://clck.ru/362UBb
Реклама. ООО "Акселератор Возможностей". ИНН 9704005146
Присоединяйтесь к IT_ONE CAREER MEETUP, который состоится 26 октября в 18:00. IT_One – разработчик программного обеспечения для крупных игроков российского бизнеса и государственных органов. Компания реализует крупнейшие проекты цифровой трансформации страны. Спектр задач – от поддержки приложения до разработки концептуальной бизнес-архитектуры уровня корпорации.
IT_ONE CAREER MEETUP #2 - это 2 актуальные темы:
Работа с базами данных: эффективное проектирование и оптимизация запросов для backend-разработчиков
Спикер: Александр Черняев, Старший разработчик, IT_One
Узнаем:
— Зачем нужна оптимизация SQL-запросов;
—Организацию процесса мониторинга и оптимизации SQL-запросов разработчиками;
— Общие рекомендации по проектированию и оптимизация SQL-запросов.
Разработка мобильных приложений на Java: Android-разработка с использованием Java
Спикер: Сергей Мехоношин, Старший Android-разработчик, IT_One
Обсудим:
— Историю Java в Android-разработке;
— Java и 2017 год;
— Какое место занимает Java в мобильной разработке под Android сегодня?
Не упустите возможность узнать о последних тенденциях и лучших практиках в вашей области! Присоединяйтесь к нам и получите ценные знания от опытных специалистов. Ждем вас на IT_ONE CAREER MEETUP!
Дата и время: 26 октября в 18:00
Регистрация и подробности: https://clck.ru/362UBb
Реклама. ООО "Акселератор Возможностей". ИНН 9704005146
👍4