Что выведет код?
Anonymous Quiz
25%
A) null main child
12%
B) null main main
47%
C) main main child
15%
D) main main null
😁1
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡6🤔3❤1👍1🥰1
Optional.ifPresent() — это метод класса Optional<T>, который выполняет заданное действие, если значение присутствует. Если значение отсутствует, ничего не происходит.
import java.util.*;
public class IfPresentExample {
public static void main(String[] args) {
// Поиск пользователя
Optional<String> email = findUserEmail(123);
// Старый способ (много кода)
if (email.isPresent()) {
sendEmail(email.get(), "Привет!");
}
// Новый способ (кратко и элегантно)
email.ifPresent(e -> sendEmail(e, "Привет!"));
// С method reference
email.ifPresent(System.out::println);
// Работа со списком опциональных значений
List<Optional<String>> names = Arrays.asList(
Optional.of("Анна"),
Optional.empty(),
Optional.of("Иван")
);
// Обрабатываем только существующие значения
names.forEach(opt ->
opt.ifPresent(name ->
System.out.println("Привет, " + name)
)
);
// Вывод: Привет, Анна
// Привет, Иван
}
static Optional<String> findUserEmail(int id) {
return id == 123 ?
Optional.of("user@mail.com") :
Optional.empty();
}
static void sendEmail(String email, String msg) {
System.out.println("Отправлено на " + email + ": " + msg);
}
}
Особенно полезен для отправки уведомлений при наличии данных, логировании опциональных значений, обновлении объектов, выполнении побочных эффектов, обработке результатов поиска.
Please open Telegram to view this post
VIEW IN TELEGRAM
Бесплатный многоплатформенный инструмент для работы с базами данных, предназначенный для разработчиков, SQL-программистов, администраторов и аналитиков баз данных.
Обладает множеством функций , включая редактор схем, редактор SQL, редактор данных, интеграцию с ИИ, ER-диаграммы, экспорт/импорт/миграцию данных, планы выполнения SQL-запросов, инструменты администрирования баз данных, панели мониторинга баз данных, средство просмотра пространственных данных, прокси-сервер и SSH-туннелирование, редактор пользовательских драйверов баз данных и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1
public class Main {
static class A {
static final B b = new B();
static final int value = 42;
}
static class B {
static final int value = A.value;
}
public static void main(String[] args) {
System.out.println(A.b.value);
}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Что выведет код?
Anonymous Quiz
46%
А) 42
8%
B) 0
33%
C) Ошибка компиляции
14%
D) StackOverflowError
🤔2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14
LocalDate.now() — это статический метод класса java.time.LocalDate, который возвращает текущую дату в системном часовом поясе.
import java.time.*;
import java.time.format.*;
public class LocalDateExample {
public static void main(String[] args) {
// Получение текущей даты
LocalDate today = LocalDate.now();
System.out.println("Сегодня: " + today);
// Разные форматы
System.out.println("Год: " + today.getYear());
System.out.println("Месяц: " + today.getMonth());
System.out.println("День недели: " + today.getDayOfWeek());
// Форматирование
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy");
System.out.println("Форматированная: " + today.format(formatter));
// Арифметика с датами
LocalDate nextWeek = today.plusDays(7);
LocalDate nextMonth = today.plusMonths(1);
System.out.println("Через неделю: " + nextWeek);
System.out.println("Через месяц: " + nextMonth);
// Сравнение дат
if (today.isAfter(LocalDate.of(2024, 1, 1))) {
System.out.println("Мы уже в 2024 году или позже");
}
}
}
Особенно полезен при логировании даты событий, расчете сроков, фильтрации записей и генерации отчетов.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
JavaScript выполняет код в одном основном потоке. Это означает, что инструкции выполняются последовательно — одна за другой. Получил команду — выполнил.
Но что делать интерпретатору, если он встречает код, который не может выполнить сразу? Именно про это вы узнаете в данной статье
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔4🤡3
public class Main {
public static void main(String[] args) {
try {
throw new RuntimeException("Oops");
} catch (Exception e) {
System.out.print("A");
} finally {
System.out.print("B");
}
System.out.print("C");
}
}Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Это статический метод для асинхронного выполнения задачи с возвратом результата. Он запускает код в отдельном потоке из общего пула (ForkJoinPool.commonPool()), не блокируя главный поток.
import java.util.concurrent.*;
public class AsyncExample {
public static void main(String[] args) throws Exception {
System.out.println("Начало: " + Thread.currentThread().getName());
// Асинхронный вызов API / тяжёлый расчёт
CompletableFuture<String> future = CompletableFuture.supplyAsync(() -> {
try {
Thread.sleep(2000); // симуляция долгой операции
} catch (InterruptedException e) { }
return "Результат: " + Thread.currentThread().getName();
});
System.out.println("Главный поток не заблокирован");
// Получение результата (блокируется, только если надо)
String result = future.join();
System.out.println(result);
}
}
Особенно полезен при вызове внешних API, параллельной обработке списков, построении неблокирующих пайплайнов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
Автор объясняет, почему стандартные системные промпты недостаточны для защиты от таких угроз, как:
- Prompt injection / jailbreak (взлом модели через специальные инструкции)
- Утечка PII (личных данных, email, номеров карт)
- Токсичные ответы LLM
- Запрещенные темы и атаки переполнения контекста
В качестве решения предлагается JGuardrails — Java-библиотека (Java 17+), работающая как фильтр до и после вызова LLM на уровне кода, без привязки к фреймворку.
Please open Telegram to view this post
VIEW IN TELEGRAM
PriorityBlockingQueue — это потокобезопасная очередь из java.util.concurrent, которая хранит элементы в отсортированном виде согласно их приоритету.Она активно используется в задачах, где нужно управлять порядком обработки — например, в планировщиках, системах обработки задач и диспетчерах потоков.
• Элементы автоматически сортируются
• Работает в многопоточном режиме
• Подходит для диспетчеризации задач по приоритету
import java.util.concurrent.PriorityBlockingQueue;
public class Main {
public static void main(String[] args) {
PriorityBlockingQueue<Integer> queue = new PriorityBlockingQueue<>();
queue.add(5);
queue.add(1);
queue.add(3);
while (!queue.isEmpty()) {
System.out.println(queue.poll()); // ➔ 1, 3, 5
}
}
}
👀 PriorityBlockingQueue особенно полезна, когда задачи имеют приоритеты — например, обработка срочных запросов, планирование задач или распределение ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое Reflection в Java и как он работает?
Пример
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Main {
public static void main(String[] args) throws Exception {
Class<?> clazz = Person.class;
System.out.println("Поля:");
for (Field f : clazz.getDeclaredFields())
System.out.println(" - " + f.getName());
System.out.println("\nМетоды:");
for (Method m : clazz.getDeclaredMethods())
System.out.println(" - " + m.getName());
Person p = new Person("Alice");
Method sayHello = clazz.getDeclaredMethod("sayHello");
sayHello.invoke(p); // вызов приватного метода через Reflection
}
}
class Person {
private String name;
public Person(String name) { this.name = name; }
private void sayHello() { System.out.println("Привет, " + name); }
}
Ответ
Reflection (рефлексия) позволяет анализировать и изменять поведение классов во время выполнения. С её помощью можно:
— получать информацию о классах, полях и методах
— вызывать методы и изменять поля динамически
— создавать экземпляры классов без new
📌 Минусы:
— снижает производительность,
— нарушает инкапсуляцию,
— может вызывать ошибки безопасности.
Reflection активно используется в фреймворках (Spring, Hibernate, JUnit) для внедрения зависимостей, сериализации и динамического вызова кода
Please open Telegram to view this post
VIEW IN TELEGRAM
class Parent {
static void print() {
System.out.print("Parent ");
}
void show() {
System.out.print("ParentShow ");
}
}
class Child extends Parent {
static void print() {
System.out.print("Child ");
}
@Override
void show() {
System.out.print("ChildShow ");
}
}
public class Main {
public static void main(String[] args) {
Parent obj = new Child();
obj.print();
obj.show();
Child child = new Child();
child.print();
}
}Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Что выведет код?
Anonymous Quiz
46%
Parent ChildShow Child
28%
Child ChildShow Child
8%
Parent ParentShow Parent
18%
Ошибка компиляции
Вечное противостояние и споры: что выбрать? Kotlin или Java? Какой язык актуальнее в 2026 году?
Автор расскажет о личном опыте работы, приведет примеры различных задач, и проведет прямые сравнительные тесты.
А если вам лень читать, победитель -
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM