Java Portal | Программирование
12.4K subscribers
1.1K photos
90 videos
36 files
966 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Java-разработчика

Связь: @devmangx

РКН: https://clck.ru/3H4WUg
Download Telegram
На реальном собеседовании по Java задать вот такой простой вопрос — не лучший способ проверить, насколько кандидат реально разбирается в теме. Поэтому часто добавляют сценарий, чтобы оценить глубину понимания.

Как заставить три потока — T1, T2 и T3 — выполняться строго по очереди, один за другим?

Сценарий:

Ты разрабатываешь пайплайн обработки данных, который состоит из трёх этапов:

Скачивание данных с удалённого источника,

Обработка скачанных данных,

Сохранение результатов в базу данных.

Каждый этап должен выполняться в отдельном потоке, но строго последовательно: второй этап начинается только после завершения первого, а третий — только после второго. Как реализовать это, чтобы гарантировать порядок выполнения?

Подсказка:

Метод Thread.join() позволяет одному потоку дождаться завершения другого. Когда поток вызывает t.join(), он приостанавливает своё выполнение и ждёт, пока поток t не завершится.

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
Как @Component в Spring управляет зависимостями

В статье объясняется, что аннотация @Component помечает класс как bean, Spring сканирует такие классы и создаёт экземпляры для автосвязывания. @Component — основа для @Service, @Repository и @Controller, важная деталь DI в Spring.

Подробности: http://www.java67.com/2023/04/what-is-component-annotation-in-spring.html

👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
Spring Boot: используй spring-boot-starter-mail для отправки писем.

Этот стартер включает все необходимые зависимости и настройки, делая процесс отправки писем простым и понятным.

// Добавь зависимость:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

// Настрой параметры почты в application.properties (или application.yml):
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=my_email@gmail.com
spring.mail.password=my_password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

// Используй JavaMailSender в коде:
...
@Autowired
private JavaMailSender mailSender;

public void sendEmail(String to, String subject, String text) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(text);
message.setFrom("your_email@gmail.com");

mailSender.send(message);
}
...


👉 Java Portal
Please open Telegram to view this post
VIEW IN TELEGRAM
211👍3🔥2