Обновить
512K+

Java *

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

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

Идеи ничего не стоят

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели11K

Команда Spring АйО перевела статью одного из создателей Hibernate, в которой он объясняет, почему ему часто приходится отвергать новые и хорошие идеи, и почему это на самом деле не означает, что он является врагом всего нового.

Читать далее

Создаём HTTP-сервер на Java NIO

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

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

В этой статье создадим HTTP-сервер на чистом Java NIO, без всяких Spring Boot, Jetty и прочих фреймворков. Будем разбираться, как работает неблокирующее I/O, что такое Selector, SocketChannel, и как заставить сервер обрабатывать тысячи запросов одновременно без запуска тысяч потоков.

Читать далее

CRaC в Java

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

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

Сегодня рассмотрим CRaC — это технология, позволяющая создать контрольную точку работающего Java-приложения, сохранив его полное состояние: память, потоки, системные ресурсы и прочее. Иными словами, вы проводите полную инициализацию приложения один раз, делаете «снимок», а затем при повторном запуске восстанавливаете это состояние, обходя долгую процедуру холодного старта.

Читать далее

Reverse shell на Java или кошмар сисадмина

Уровень сложностиСложный
Время на прочтение16 мин
Охват и читатели10K

По итогам расследований нескольких инцидентов с безопасностью, рассказываю что еще из «зубастого и рогатого» бывает на свете. Еще один повод бросить это ваше ИТ и уйти в монастырь.

Читать далее

Карликовый желтый гигант

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.2K

Размышление о жизненных перспективах платформы 1С:Предприятие. Стиль изложения беглый профессионально‑метафорический.

Читать далее

Концерт для Java с ИИ — разработка готовых к продакшен LLM приложений

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.8K

Команда Spring АйО перевела и адаптировала доклад Томаса Витале “Concerto for Java and AI — Building Production-Ready LLM Applications”, в котором рассказывается по шагам, как усовершенствовать интерфейс приложения с помощью больших языковых моделей (LLM). В качестве примера автор доклада на глазах слушателей разрабатывает приложение-ассистент для композитора, пишущего музыку для фильмов. 

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

Читать далее

Null-safety в Spring приложении с JSpecify и NullAway

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

Новый перевод от команды Spring АйО расскажет о проблемах, вызываемых неожиданным появлением NullPointerException в продакшен, о способах борьбы с этой проблемой, над которыми работает команда Java и о скором выходе новых решений, которые помогут разработчикам навсегда избавиться от этого кошмара.

Читать далее

Парсим сайт для получения УДК иерархии

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

Предыстория:

У меня на домашнем ПК скопилось некоторое количество книг в электронном формате. Это в основной массе техническая литература. И мне хотелось всё это систематизировать. Придумывать не хочется, когда в книгах есть УДК, ББК классификаторы.

Читать далее

Принципы SOLID и основы построения коммерческой организации

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.9K

Привет, дорогой друг!

Сегодня я тебе объясню принципы SOLID максимально понятным способом.

Для того чтобы совсем упростить задачу, в этом тексте не будет ни единой строчки кода.

Представь себе, что ты решил заняться бизнесом.

Первым делом ты организуешь небольшую торговую компанию. Ты только начинаешь свой путь в бизнесе, и поэтому всё делаешь сам. И закупаешь товар, и развозишь его по точкам, и ведёшь учёт, и ремонтируешь грузовую газель.

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

Людей в твоей команде немного, все друг друга знают, вы как одна большая дружная семья. И нет-нет, но периодически, кто-нибудь из сотрудников пытается взять себе дополнительные полномочия из чужой области. То ремонтник порывается съездить на рынок и закупить товар (ему же по дороге), то продажник научить ремонтника как правильно чинить технику (он всё детство провёл в гараже, где они с друзьями чинили папину волгу), то бухгалтерша Галина Петровна решает всех построить и взять на себя часть руководящих функций.

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

Но ты стоишь на страже интересов бизнеса! Железной рукой ты пресекаешь безобразия и вводишь жёсткий принцип – каждый сотрудник отвечает только за своё поле деятельности, у каждого своя ответственность, и никто в чужой огород лазать не смей. Закупщик – только закупает. Продажник – только продаёт. Каждый сотрудник должен иметь только одну зону ответственности.

Читать далее

TrueSql – заново учимся ходить в базу данных. Часть 2 – количество обновленных строк и сгенерированные колонки

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

В первой части мы научили команду разработчиков пяти Fetch. Обучение прямому хождению в БД мы продолжим двумя короткими но важными темами: получение сгенерированных колонок и количества обновленных строк.

Читать далее

Нововведения Java 24

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели20K

Уже скоро, 18 марта, выйдет новая версия Java. Поэтому предлагаю посмотреть, какие в ней будут новшества, включая финализацию давно ожидаемых Stream Gatherers!

Читать далее

Spring AI научился видеть! Показываю, как заставить GPT находить бананы на картинках

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

Новый перевод от команды Spring АйО расскажет вам о работе с мультимодальностью при работе со Spring AI и о различных вариантах работы с графическими изображениями с использованием искусственного интеллекта.

Читать далее

Как мы готовим российскую Java

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.1K

Подготовка JDK — это не просто запустить скрипт и получить готовый бинарник. Это сложный процесс, включающий тестирование, поддержку, оптимизацию и обеспечение безопасности. 

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

JDK можно собрать вручную, но делать это в проде — так себе идея. Вот почему:

Читать далее

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

Зачем вашему проекту нужен java.policy?

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели3.8K

Привет, меня зовут Валерия, я работаю Java-разработчиком в компании SimbirSoft. В этой статье я расскажу вам о java.policy: что это, зачем его использовать и как подключить к проекту. 

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

Читать далее

TrueSql – заново учимся ходить в базу данных. Часть 1 – пять Fetch’ей

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.7K

Сегодня мы начнем заново учиться ходить в базу данных. Рассмотрим все пять Fetch'ей TrueSql с кейсами их применения.

Читать далее

Немодальное окно коммита в IntelliJ IDEA: шаг вперёд или спорное нововведение?

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

В свежих обновлениях IntelliJ IDEA разработчики JetBrains внедрили немодальное окно коммита, отказавшись от классического модального диалога. Команда Spring АйО не обошла стороной активное обсуждение среди пользователей, которые разделились на два лагеря: одни приветствуют нововведение, другие считают его неудобным. Разберёмся, какие плюсы и минусы выявили пользователи и что по этому поводу думают представители JetBrains.

Читать далее

Выпущена версия Jmix 2.5

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

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

Вот краткий обзор ключевых функций и улучшений в Jmix 2.5.

Читать далее

Вышла IntelliJ IDEA 2025.1 Beta

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели10K

Новый перевод от команды Spring АйО анонсирует выход IntelliJ IDEA 2025.1 Beta и рассказывает о том, какие изменения присутствуют в новой версии IDE.

Читать далее

Настройка PostgreSQL для LLM

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

Итак, в этой статье я расскажу, как эффективно настроить PostgreSQL, чтобы вам было проще работать с большими языковыми моделями.

Пока звучит странно, не правда ли? Что я имею в виду? Я имею в виду повышение эффективности создания любых SQL-запросов в базу данных с использованием LLM (ChatGPT, DeepSeek, Llama и других).

Метод, о котором пойдет речь, до безобразия прост и от этого гениален. После прочтения этой статьи вы сможете самостоятельно или в рамках вашей компании увеличить скорость формирования SQL-запросов в 50 раз!

Читать далее

Java Digest #22

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели5.1K

Всем привет! 👋 👋 👋 👋 Мы Java-разработчики Т-Банка: Андрей, Арсений, Роман, Константин и Константин. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и делимся этим со всем сообществом.

В этом выпуске: дикая сторона Java — неожиданные трюки, которые работают. Узнаем, как переключение контекста убивает продуктивность и как с этим бороться. Разберем третью и четвертую части серии про HotSpot C2 JIT Compiler: измерим время компиляции, оптимизируем циклы и ускорим JIT. 

Посмотрим на свежие JEP и разберемся, какие новинки ждут нас в будущих версиях Java. Погрузимся в реальные проблемы миграции баз данных: транзакционные DDL, конфликты обновлений и правильные стратегии применения изменений. А в конце — большое видео на 2,5 часа про все ключевые фичи, которые появились в Java 22 и 23. Приятного прочтения!

Читать далее