Преобразование файла в строку
В нашем первом примере мы используем встроенный пакет файлов Java 1.11+. Этот метод работает с Java 1.11+.
Также рассмотрим еще один вариант преобразования, а именно использование встроенного пакета Streams Java 1.8+.
Java Learning👩💻
В нашем первом примере мы используем встроенный пакет файлов Java 1.11+. Этот метод работает с Java 1.11+.
Также рассмотрим еще один вариант преобразования, а именно использование встроенного пакета Streams Java 1.8+.
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Feign – библиотека для Java, автоматизирующая вызов REST API. Она сокращает код, создавая запросы и обрабатывая исключения без лишних конструкций. Идеально подходит для работы с несколькими API и упрощает тестирование.
• Автоматическая генерация кода для вызова API, избавляя от рутины.• Лёгкость тестирования и расширяемость при добавлении новых API.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
В Java метод
Optional.ofNullable() создаёт объект Optional, который может содержать значение или быть пустым. Полезен для избежания NullPointerException и обработки необязательных значений.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥1🎄1
#Вопросы_с_собеседования
В чем разница между Thread.sleep() и Thread.yield()?
Java Learning👩💻
В чем разница между Thread.sleep() и Thread.yield()?
Thread.sleep(): Этот метод приостанавливает выполнение текущего потока на заданное количество времени. Время задается в миллисекундах и указывается в качестве аргумента метода. При вызове Thread.sleep(), поток переходит в состояние ожидания и не выполняет код в течение указанного периода времени. После истечения времени поток снова становится готовым к выполнению. Вызов Thread.sleep() может сгенерировать исключение InterruptedException, поэтому необходимо обрабатывать его или пробрасывать.Thread.yield(): Этот метод предоставляет намек планировщику потоков на то, что поток, вызвавший yield(), готов уступить процессорное время другим потокам с тем же приоритетом. Однако это рекомендация, а не гарантия. Вызов Thread.yield() приводит к тому, что текущий поток переходит из исполняемого в состояние готовности, чтобы другие потоки могли получить доступ к процессору. Однако, если нет других готовых потоков с тем же приоритетом, поток может продолжить выполнение.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥1
В Java метод
filter() в Stream позволяет отбирать элементы, соответствующие условию. Полезен для создания потоков данных, соответствующих определённым критериям.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍4🎄2🔥1
Напишите Java-программу, которая принимает список строк, сортирует его по длине строки в порядке возрастания и выводит отсортированный список в консоль. Если строки имеют одинаковую длину, сохраняйте их исходный порядок.
Пример:
["apple", "banana", "kiwi", "grape", "orange"]
kiwi
apple
grape
banana
orange
Решение задачи на картинке
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Пояснение
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
В Java метод
map() в Stream преобразует элементы потока, применяя к каждому из них функцию. Это идеальный способ быстро выполнить преобразования коллекций.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍2😱1
В Java метод
computeIfPresent интерфейса Map обновляет значение для существующего ключа с помощью указанной функции. Если ключ отсутствует, метод ничего не делает. Это удобно для выборочного обновления значений в коллекциях.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
В Java метод
Collectors.flatMapping() разворачивает вложенные коллекции в потоке и собирает их в одну. Это удобно для обработки коллекций коллекций, когда требуется плоская структура данных.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤔6
В Java метод
Collectors.joining() из пакета java.util.stream позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Quarkus — оптимизированный фреймворк для создания Java-приложений с низким временем запуска и минимальным потреблением памяти. Подходит для облачных и серверлесс-приложений.
• Быстрый старт с нативной компиляцией на GraalVM.• Оптимизация для облака и контейнеров.• Совместимость с Java API и фреймворками Spring, Hibernate.• Горячая перезагрузка для ускорения разработки.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Vaadin Flow — это фреймворк для создания веб-приложений на Java без написания JavaScript и HTML. Он позволяет создавать интерфейсы и логику приложения полностью на Java.
• Полная разработка на Java.• Компоненты для UI и двусторонняя привязка данных.• Интеграция с Spring Boot.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
Пояснение
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🤔4😱1
👍16
Что такое
volatile в Java и в каких случаях его следует использовать?Ответ
Однако volatile не заменяет блокировку (synchronized) и не обеспечивает атомарности операций. Его рекомендуется использовать для переменных, доступ к которым происходит через чтение/запись, но не требует сложной синхронизации, например, для флагов или индикаторов состояния.
Пример использования
public class VolatileExample {
private volatile boolean flag = true;
public void run() {
new Thread(() -> {
while (flag) {
System.out.println("Работаем...");
}
System.out.println("Остановка");
}).start();
try {
Thread.sleep(1000);
flag = false; // изменение станет сразу видимым для первого потока
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
}
}
public static void main(String[] args) {
new VolatileExample().run();
}
}
Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3
В Java метод
Path.resolve() из пакета java.nio.file соединяет два пути, создавая новый путь. Если второй путь является абсолютным, он возвращается как есть. Это полезно для работы с относительными путями в файловой системе.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Records
Java Learning👩💻
Records — это новый тип данных, добавленный в Java 14, который позволяет определить класс с набором свойств, аналогичных полям класса, но неизменяемых и доступных только для чтения. Они предоставляют удобный способ объявления простых неизменяемых объектов с сокращенным синтаксисом.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21
Ratpack — это асинхронный фреймворк для разработки веб-приложений и API на Java. Он использует неблокирующую модель ввода-вывода, что делает его идеальным для создания высоконагруженных систем.
• Асинхронность на основе Netty для высокой производительности.• Интуитивно понятный DSL для описания маршрутов и логики.• Отличная интеграция с Gradle и другими инструментами.Java Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6