Java Portal | Программирование
13K subscribers
1.2K photos
98 videos
37 files
1.13K links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
JetBrains вбросили загадку про IntelliJ IDEA. Судя по всему, кто-то пытается незаметно попасть на их день рождения. Команда решила устроить мини-квест: каждый день будет новая задачка, новые подсказки и в итоге надо вычислить тайного гостя вечеринки. 😂

В первом задании предлагают сопоставить сниппеты кода с версиями Java. Там набор вполне узнаваемых фич: var, streams, diamond-оператор, enum и records. Ниже варианты: Java 5, 7, 8, 11, 17 и 21.

Выглядит легко, но подана история забавно, а оформление в стиле карты-загадки.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
6👍3
Новый способ регистрировать бины программно начиная со Spring Framework 7 👇👇👇

@Configuration
@Import(ExampleRegistrar.class)
class ExampleConfiguration {
}

class ExampleRegistrar implements BeanRegistrar {

@Override
public void register(BeanRegistry registry, Environment env) {
if (env.matchesProfiles("dev")) {
registry.registerBean(ExampleInMemoryRepository.class);
} else {
registry.registerBean(ExampleRepository.class);
}
}
}


👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🔥2
В старые времена на Java самое дорогое выражение, которое я видел в проде, выглядело невинно:

→ repository.findAll()

Компилируется, тесты проходит, на QA тоже всё ок потому что данных мало.

А потом в проде прилетает реальный трафик, JVM начинает пухнуть от хипа и p99 улетает в космос. Причина простая — вызов неограниченный по объёму. Без лимитов, без пагинации, без стриминга.

показательный случай про цену подобных ошибок:

• ракета Ariane 5
• стоимость проекта — 370 млн
• в коде было преобразование 64-битного значения к 16-битному
• при ускорении значение вышло за пределы
• произошёл overflow, навигация отказала
• запуск провалился, 370 млн просто улетели

Вывод: неограниченные операции в коде — всегда риск.

Из той же категории:

• collect(toList()) на огромных стримах
@Transactional прямо на контроллерах
• synchronized на нагруженном месте

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
👀6👍3