Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥1
StackWalker — это новое API, введенное в Java 9, которое позволяет легко и эффективно работать с информацией о стеке вызовов.
В отличие от устаревших методов, таких как
Thread.getStackTrace(), StackWalker предоставляет гибкий и производительный способ получения информации о стеке, поддерживая фильтрацию и построчную обработку.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥2
Что такое "backpressure" в реактивных системах на Java, и как его можно обработать?
Ответ
import java.util.concurrent.Flow;
public class BackpressureExample {
public static void main(String[] args) {
MyPublisher publisher = new MyPublisher();
MySubscriber subscriber = new MySubscriber();
publisher.subscribe(subscriber);
}
}
class MyPublisher implements Flow.Publisher<Integer> {
@Override
public void subscribe(Flow.Subscriber<? super Integer> subscriber) {
subscriber.onSubscribe(new Flow.Subscription() {
@Override
public void request(long n) {
for (int i = 1; i <= n; i++) {
subscriber.onNext(i);
}
subscriber.onComplete();
}
@Override
public void cancel() {
}
});
}
}
class MySubscriber implements Flow.Subscriber<Integer> {
private Flow.Subscription subscription;
@Override
public void onSubscribe(Flow.Subscription subscription) {
this.subscription = subscription;
subscription.request(5); // Запрашиваем 5 элементов
}
@Override
public void onNext(Integer item) {
System.out.println("Получен элемент: " + item);
}
@Override
public void onError(Throwable throwable) {
System.err.println("Ошибка: " + throwable.getMessage());
}
@Override
public void onComplete() {
System.out.println("Все элементы получены.");
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8😱2🎄1
Jinjava — это шаблонизатор для Java, основанный на синтаксисе Jinja, популярного в мире Python. Эта библиотека позволяет гибко рендерить HTML-шаблоны с поддержкой переменных, циклов, условий и фильтров.
• Jinjava — отличный выбор для тех, кому нужно интегрировать мощный шаблонизатор с простым и понятным синтаксисом в свои Java-приложения.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤🔥2
Picnic — это библиотека для создания красиво отформатированных текстовых таблиц в Java. Она упрощает генерацию таблиц с правильным выравниванием, заголовками и рамками, что делает её идеальной для вывода табличных данных в консольных приложениях.
• Picnic отлично подходит для случаев, когда нужно представить данные в текстовой таблице, например, для отчетов или логов.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥1
Что такое "weak references" в Java и когда их стоит использовать?
Ответ
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥2
StructuredTaskScope — это API, который упрощает управление группами асинхронных задач. Он позволяет легко запускать несколько задач параллельно и контролировать их выполнение, гарантируя, что все дочерние задачи будут завершены корректно, даже в случае ошибок.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
SonarJava
SonarJava — это плагин для статического анализа кода, который используется для проверки качества кода Java. Он может обнаруживать различные проблемы, такие как ошибки кода, дублирование кода, потенциальные уязвимости безопасности и т. д.
Java Learning👩💻
SonarJava — это плагин для статического анализа кода, который используется для проверки качества кода Java. Он может обнаруживать различные проблемы, такие как ошибки кода, дублирование кода, потенциальные уязвимости безопасности и т. д.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔11👍7
Jolt — это мощная библиотека для преобразования и манипуляции JSON-данными. Она позволяет описывать преобразования в виде спецификаций и легко применять их к JSON-структурам, что особенно удобно при интеграции данных.
• Jolt — идеальный инструмент для случаев, когда необходимо трансформировать сложные JSON-данные.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤🔥2
#Вопросы_с_собеседования
Если вы хотите переопределить equals(), какие условия должны удовлетворяться для переопределенного метода?
- Метод должен удовлетворять условиям транзитивности, рефлексивности и симметричности.
- Метод должен быть согласованным - многократные вызовы с неизменными объектами должны возвращать один и тот же результат.
- Если x.equals(y) вернёт true, то x.hashCode() должен быть равен y.hashCode().
- Метод не должен выбрасывать исключения при сравнении допустимых значений.
Java Learning👩💻
Если вы хотите переопределить equals(), какие условия должны удовлетворяться для переопределенного метода?
- Метод должен быть согласованным - многократные вызовы с неизменными объектами должны возвращать один и тот же результат.
- Если x.equals(y) вернёт true, то x.hashCode() должен быть равен y.hashCode().
- Метод не должен выбрасывать исключения при сравнении допустимых значений.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤🔥1
Sequenced Collections — интерфейс, который объединяет функциональность упорядоченных коллекций, таких как списки и наборы.
Он позволяет более эффективно работать с коллекциями, где важен порядок элементов, и предоставляет методы для работы с первым и последним элементами коллекции.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Joor — это легковесная библиотека для работы с рефлексией в Java, которая значительно упрощает использование этого мощного механизма.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍2🎄1
json-unit — это удобная библиотека для сравнения и тестирования JSON-данных в Java. Она поддерживает сравнение структуры, частичное совпадение данных и игнорирование несущественных различий, что делает её идеальной для тестирования API-ответов.
• json-unit — отличный выбор для разработчиков, которым нужно тестировать и проверять сложные JSON-структуры.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Что такое
try-with-resources в Java, и как он улучшает управление ресурсами?Ответ
Пример использования
Здесь BufferedReader автоматически закрывается после завершения блока try, даже если возникает исключение.
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class Main {
public static void main(String[] args) {
try (BufferedReader br = new BufferedReader(new FileReader("file.txt"))) {
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
Reactor — это библиотека для построения асинхронных, реактивных систем. Она использует потоковую обработку данных и позволяет эффективно управлять асинхронными операциями с минимальной задержкой.
• Reactor поддерживает функциональный стиль программирования и является основой для Spring WebFlux.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Трюк с битовыми операциями
Этот код демонстрирует обмен значений двух переменных (a и b) без использования дополнительной временной переменной.
Он использует битовую операцию XOR (^). Ключевой момент здесь в том, что XOR двух одинаковых чисел возвращает 0, а XOR числа с 0 возвращает само это число. Таким образом, когда мы применяем XOR к a и b и затем обратно, мы фактически обмениваем их значения.
Java Learning👩💻
Этот код демонстрирует обмен значений двух переменных (a и b) без использования дополнительной временной переменной.
Он использует битовую операцию XOR (^). Ключевой момент здесь в том, что XOR двух одинаковых чисел возвращает 0, а XOR числа с 0 возвращает само это число. Таким образом, когда мы применяем XOR к a и b и затем обратно, мы фактически обмениваем их значения.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤🔥5
В чем отличия между TreeSet и HashSet?
Основное отличие между
Java Learning👩💻
Основное отличие между
TreeSet и HashSet заключается в том, что TreeSet хранит элементы в отсортированном порядке, в то время как порядок хранения элементов в HashSet не определен. TreeSet также обеспечивает быстрый поиск и извлечение элементов в отсортированном порядке.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤🔥2🔥1