Как стать автором
Обновить
169.01

Java *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

21 ошибка в 21-й версии Apache NetBeans

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров2.2K

Apache NetBeans — одна из первых IDE для Java, поддержка которой не прекращается на протяжении почти 30 лет. Совсем недавно вышла 21-я версия. Мы решили проверить исходный код такого долгожителя и выбрали наиболее интересные ошибки, которые разберём в этой статье.

Читать далее
Всего голосов 11: ↑13.5 и ↓-2.5+16
Комментарии1

Новости

Metatron — Open Source библиотека для генерации отчетов на языке Rust

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров2.5K

Год назад возникла идея переписать весь Java-бекенд на Rust, который я уже несколько лет разрабатываю и поддерживаю. Я нашёл все аналоги библиотек и фреймворков из мира Java в экосистеме Rust:

Читать далее
Всего голосов 14: ↑14 и ↓0+14
Комментарии16

Еще раз о перформансе стримов в Java

Время на прочтение9 мин
Количество просмотров6.8K

Перевод статьи, где автор замеряет перформанс Stream API в Java на около-реалистичных (и не очень) задачах. Как и автору, мне нередко на глаза попадаются заявления что мол вся эта функциональщина в джаве - баловство и скорее вредный сахар. И что старовер с джавы 1.6 напишет на циклах заведомо более быстрый код, чем хипстер на стримах. Также в статье наглядно демонстрируется, в каких именно условиях параллельные стримы могут начать приносить пользу.

Читать далее
Всего голосов 9: ↑10 и ↓-1+11
Комментарии13

Как я написал клиент электронного дневника своей области

Время на прочтение5 мин
Количество просмотров11K

Сейчас я учусь в 8 классе. Где-то с октября (сейчас апрель) я изучаю разработку мобильных приложения для андроид. И как это бывает у каждого - я столкнулся с проблемой: а какое приложение мне сделать? И мне крайне повезло. Я не стал делать какой-нибудь фейковый магазин, калькулятор, блокнот, туду лист и всякую подобную заезженную тему.

Читать далее
Всего голосов 96: ↑104.5 и ↓-8.5+113
Комментарии28

Истории

Что скрывается в коде игрового движка, написанного на Java?

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров7.7K

Вы когда-нибудь интересовались игровыми движками, написанными на Java? В этой статье мы рассмотрим и проверим на наличие ошибок в исходном коде один из популярных игровых движков — jMonkeyEngine. Возможно, мы даже узнаем, почему игры пишутся на C# и C++, а не на Java.

Читать далее
Всего голосов 12: ↑14.5 и ↓-2.5+17
Комментарии8

Как создать свой Spring Boot 3 — стартер?

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.6K

Допустим, Вы разрабатываете несколько приложений или микросервисов на Java. Каждое из них уникальное, и содержит свою собственную бизнес логику. Однако, в каждом из них может быть необходимость использовать общую логику. Например, логику аутентификации, как это часто бывает в мире микросервисов.

Spring Boot starter'ы - отличный способ управлять созданием, развитием и поставкой общей кодовой базы. О том как создать свой Spring Boot 3 стартер и поговорим в этой статье.

Читать далее
Всего голосов 13: ↑12.5 и ↓0.5+12
Комментарии7

Java Digest #11

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.1K

Всем привет! 👋 👋 👋👋

Мы — Java-разработчики Тинькофф: Андрей, Арсений, Константин и Константин — наша команда выросла на целого Костю. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки теперь на 25% больше и делимся этим со всем сообществом.

Главная новость прошедшего месяца: вышла Java 22. В этом выпуске мы собрали много материалов на эту тему: обзоры JEP, видео и статьи, посвященные изменениям. Будут обзоры о новых релизах и дорожная карта Ktor. Нашлось место туториалам, посещенным Testcontainers, ExecutorService, Spring и Java NIO. Кстати, 24 марта Spring 1.0 исполнилось 20 лет — на эту тему тоже есть интересный материал. Приятного чтения 🙂

Читать свежий выпуск
Всего голосов 15: ↑15 и ↓0+15
Комментарии3

Что нужно знать джависту, чтобы пройти собеседование

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров15K

Небольшая заметка с технологиями и полезными ссылками, которые позволили мне пройти собеседование и работать в Сбере.

Читать далее
Всего голосов 21: ↑16.5 и ↓4.5+12
Комментарии17

А точно ли программистам не нужны алгоритмы?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров15K

Мне 21 год и я работаю программистом всего 4 года, за это время я побывал на 2–3 мелких проектах и 3–4 проектах крупных компаний, таких как: Luxoft (упокой его душу), Альфа, ОТП, ГПБ и др. Так же я часто прохожу собеседования и в другие компании, чтобы «держать себя в форме», собирать статистику и т. п. Прохожу собеседования, в том числе и в крупные финтехи и пока что не хочу туда идти.

В разговорах со своими коллегами я очень часто слышал фразу «алгоритмы программистам не нужны», «алгоритмы никогда не используются в работе» и т. п. Я не являюсь ярым приверженцем того, что алгоритмы нужно учить и использовать их повсеместно, но я понимаю, как они могут помочь мне в жизни программиста.

Читать далее
Всего голосов 36: ↑25 и ↓11+14
Комментарии74

Backend-разработчик: из стажера в джуны

Время на прочтение5 мин
Количество просмотров10K

Всем привет! Меня зовут Егор, я стажёр backend-разработчик в зарплатном проекте Росбанка (он же Payroll). В этой статье я расскажу про путь становления от «зеленого» стажера до боевой единицы в команде: через что мне пришлось пройти, с какими трудностями я столкнулся и как прокачал свои скилы.

Читать далее
Всего голосов 21: ↑21 и ↓0+21
Комментарии8

Kotlin (не) против Java: особенности компиляции в байткод

Время на прочтение6 мин
Количество просмотров5.8K

В 1995 году Sun Microsystems представили Java — объектно-ориентированный язык программирования, основное кредо которого можно сформулировать так: «Написано один раз, работает всегда». В 2011 году как улучшенную альтернативу Java компания JetBrains представила Kotlin — язык с той же философией, но иной реализацией. С тех пор в сообществе программистов между адептами Java и Kotlin ведется непримиримая вражда…

Всем привет! Меня зовут Артем Панасюк, я ведущий backend-разработчик на Java/Kotlin в «Леруа Мерлен». В этом тексте я постараюсь залезть к этим языкам «под капот» и посмотреть, правда ли они такие разные — и в чем преимущества каждого из них.

Читать далее
Всего голосов 16: ↑13.5 и ↓2.5+11
Комментарии21

Паттерны или химеры программирования

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров5.9K

Данная статья будет полезна для Junior / Middle Java разработчиков, которые готовятся к собеседованию или просто развиваются и хотят немного конкретики по части паттернов, и так как в данной статье я покажу 5 паттернов, с которыми мы как разработчики работаем в Java Core, с самого начала нашего пути, то они точно останутся в вашей голове и при последующем написании кода будут только всплывать и крепнуть. И даже просто, не знать что они это они - это не хорошо.

Читать далее
Всего голосов 16: ↑15 и ↓1+14
Комментарии1

Опять транзакции…

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров12K

Всем привет. На своем последнем месте работы я выполнял обязанности Java разработчика в одной из команд сервиса, чье приложение установлено в смартфоне большинства жителей РФ. Использовался стандартный стек технологий: Java, Spring(web, jdbc, core), PostgreSQL, Kafka. Обычное синхронное API по работе с данными, без всякой реактивщины, с нагрузкой более миллиона пользователей в день. Я столкнулся с тем что сервисы по работе с БД были обильно «усыпаны» Spring аннотациями @Transactional. Даже одиночные запросы на чтение данных использовали аннотацию с параметром readOnly=true. Я пытался писать комментарии к мердж‑реквестам с вопросом: «зачем вы это делаете?». Но получал ответы из разряда: «для перфоманса», «у нас так принято, чтобы случайно не упустить случай когда транзакция будет действительна нужна», «раньше у нас была какая‑то проблема с коннектами (какая именно никто так и не вспомнил сколько я не пытал), мы везде добавили аннотации и все заработало». Если интересно чем в итоге закончилась эта дискуссия, то подробности далее.

Читать далее
Всего голосов 33: ↑32 и ↓1+31
Комментарии44

Ближайшие события

Java Тренажер

Время на прочтение3 мин
Количество просмотров11K

Хочу представить вашему вниманию бесплатный курс Java Тренажер, который недавно опубликовал на платформе Stepik.

Java — это объектно-ориентированный язык программирования, разработанный компанией Sun Microsystems (позднее приобретённой компанией Oracle). Он был выпущен в 1995 году и с тех пор стал одним из наиболее популярных языков программирования благодаря своей платформенной независимости, простоте использования, масштабируемости и широкому спектру применения.

Читать далее
Всего голосов 17: ↑14 и ↓3+11
Комментарии4

На что способны виртуальные потоки Java в обработке файлов

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.6K

Привет, Хабр!

Предисловие

Начнем с того,что я не специалист по Java и у меня нет коммерческого опыта на этом языке. Я просто обычный кодер, который по вечерам пилит проекты на Java, а основной мой стек состоит из PHP и смеси Python + Go. В данной статье хочу с вами поделиться опытом с использованием виртуальных потоках (Virtual Threads) в обработке файлов.

Читать далее
Всего голосов 15: ↑13 и ↓2+11
Комментарии9

JVM, Spring, Kotlin и не только: о чём расскажут на JPoint 2024

Время на прочтение13 мин
Количество просмотров3.6K

Как подготовить Java-код к виртуальным потокам? Как (и зачем) писать на Kotlin Script? Какими бывают интринсики? Зачем тащить Undertow? Как логгер должен реагировать на исключение? Как укротить БД? Как машины пишут музыку?

Так много вопросов — и все они найдут ответы на конференции JPoint. Там поговорят и о производительности, и о фреймворках, и об архитектуре — в общем, обо всём, полезном Java-разработчику.

Программа конференции готова, и пришло время представить её Хабру.

Программа JPoint 2024
Всего голосов 14: ↑13 и ↓1+12
Комментарии5

Как, блуждая по Stack Overflow, можно набрести на Branch predictor

Время на прочтение8 мин
Количество просмотров4.2K

В блоге beeline cloud мы делились историями и мнениями разработчиков — как программист-самоучка выучил 30 языков программирования, в каких случаях парное программирование не работает и почему некоторые проекты угасают, когда из компании уходит тимлид разработки. Сегодня поговорим о том, как изучать азы информатики при помощи  Stack Overflow, даже если ваше образование не связано с компьютерными технологиями. Вот интересный перевод.

Мое основное образование далеко от ИТ. Но приблизительно в 2016 году я придумал, как изучать основы информатики при помощи Stack Overflow. Так у меня появилось увлекательное хобби. В свободное время я проглядываю сайт в поисках вопросов, получивших наибольшее количество голосов.

Сам метод, а также результаты, которые он приносит, я описал в своей статье 16-часовая тренировка для разработчиков. В чем же основные его преимущества? В том, что такой подход зачастую намного лучше, чем чтение учебников во время обучения в ВУЗе. 

Ответ со Stack Overflow, получивший наибольшее количество голосов, позволит вам оперировать опытом отраслевого эксперта из первых рук. И это в совокупности с краткой теоретической справкой (которую хорошие специалисты как правило приводят в своих ответах).

Одному из вопросов, набравшему наибольшее количество голосов на Stack Overflow (сейчас это порядка 24 миллионов «плюсов»!), я хочу посвятить эту статью.

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии7

JetBrains TeamCity CI/CD CVE-2024-27198

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.5K

В феврале 2024 года группа исследователей уязвимостей Rapid7 выявила уязвимость, затрагивающую сервер JetBrains TeamCity CI/CD и представляющую собой обход аутентификации в веб-компоненте TeamCity.

Уязвимость получила идентификатор CVE-2024-27198 и балл CVSS равный 9,8 (критический).

Наличие данного недостатка позволяет полностью скомпрометировать сервер TeamCity, не имея аутентифицированного доступа, включая удаленное исполнение команд.

Компрометация сервера TeamCity позволяет злоумышленнику получить полный контроль над всеми проектами, сборками, агентами и артефактами TeamCity, что может являться подходящим вектором для атаки на цепочку поставок.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии0

Битва фреймворков: сравнение высокопроизводительных HTTP-библиотек

Время на прочтение5 мин
Количество просмотров13K

Мир веб-разработки предлагает бесконечное количество вариантов HTTP-фреймворков для разных языков программирования. Но как разработчикам понять, какие из них обеспечивают действительно высокую производительность? Под катом команда блога CodeReliant* проводит прямое сравнение некоторых из лучших претендентов на быстродействие. Рассматривает популярные варианты на Javascript/Bun, Java, C#, Go и Rust, проводит бенчмаркинг, оценивает их пропускную способность и время отклика при тестировании.

Выбранные для сравнительного анализа фреймворки имеют репутацию высокопроизводительных, — но посмотрим, как это понятие реализуется в разных стеках.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 30: ↑25 и ↓5+20
Комментарии22

Как мы лечили раздвоение встреч в конференциях на базе Jitsi

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров4.7K

Привет! Меня зовут Дима. Я из команды бэкенда Яндекс Телемоста — сервиса для проведения видеовстреч, который входит в Яндекс 360. Перед нами стоит задача не просто предоставить сервис, а предоставить отказоустойчивый и надёжный сервис, который работает 24/7 и обслуживает весь мир.

Телемост создан на основе open source решения Jitsi meet — оно постоянно развивается благодаря вкладу комьюнити, но при этом имеет свои ограничения. В статье расскажу, как мы встретили один редкий, но интересный плавающий баг. И конечно, как его лечили.

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии5
1
23 ...

Вклад авторов

Работа

Java разработчик
362 вакансии