Перейти к содержимому
Технологии IT обновлён 27.02.2024

Java Learning

"Java Learning" - место где вы сможете получить обучающие материалы по языку программирования Java. Наш канал предлагает широкий спектр ресурсов для изучения Java, включая учебники, видеоуроки, примеры кода и задачи для практики. Независимо от вашего уровня - начинающий или опытный разработчик - у нас вы найдете полезные советы, руководства и современные методики обучения. Присоединяйтесь к нашему каналу и начните свой путь в мире программирования на Java!

Публикации канала

⚙️ Set.retainAll() В Java метод Set.retainAll() позволяет оставить только те элементы множества, которые присутствуют в другом множестве. Это удобно для нахождения пересечения множеств. Java Learning 👩‍💻

Открыть в Telegram

❓ Вопрос на собеседовании Что такое ForkJoinPool в Java, как он работает, и как его использовать для параллельной обработки задач? Ответ ⬇️ ForkJoinPool — это специализированный пул потоков, который рекурсивно делит задачи на подзадачи (fork) и объединяет их результаты (join). Он оптимизирован для задач, которые можно разделить на независимые части, например, вычисление суммы элементов массива. Основными классами являются RecursiveTask для задач с результатом и RecursiveAction для задач без результата. Пример использования ⚙️ import java.util.concurrent.RecursiveTask; import java.util.concurrent.ForkJoinPool; class SumTask extends RecursiveTask<Integer> { private final int[] array; private final int start, end; public SumTask(int[] array, int start, int end) { this.array = array; this.start = start; this.end = end; } @Override protected Integer compute() { if (end - start <= 5) { int sum = 0; for (int i = start; i < end; i++) sum += array[i]; return sum; } else { int mid = (start + end) / 2; SumTask left = new SumTask(array, start, mid); SumTask right = new SumTask(array, mid, end); left.fork(); return right.compute() + left.join(); } } } public class Main { public static void main(String[] args) { int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; ForkJoinPool pool = new ForkJoinPool(); int result = pool.invoke(new SumTask(array, 0, array.length)); System.out.println("Сумма: " + result); // Сумма: 55 } } Java Learning 👩‍💻

Открыть в Telegram

⚙️ List.subList() В Java метод subList() позволяет создать представление части списка. Это удобно для работы с подмножествами коллекций без необходимости копирования элементов. Java Learning 👩‍💻

Открыть в Telegram

🔴 Завтра тестовое собеседование с Java-разработчиком 2 сентября(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Сергею Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе.

Открыть в Telegram

➡️ Quarkus — быстрый и лёгкий фреймворк для Java-приложений Quarkus — оптимизированный фреймворк для создания Java-приложений с низким временем запуска и минимальным потреблением памяти. Подходит для облачных и серверлесс-приложений. • Быстрый старт с нативной компиляцией на GraalVM. • Оптимизация для облака и контейнеров. • Совместимость с Java API и фреймворками Spring, Hibernate. • Горячая перезагрузка для ускорения разработки. 🔗 Ссылочка на доку Java Learning 👩‍💻

Открыть в Telegram

⚙️ Collectors.joining() В Java метод Collectors.joining() из пакета java.util.stream позволяет объединить элементы потока в одну строку с опциональным разделителем, префиксом и суффиксом. Это удобно для создания строковых представлений коллекций. Java Learning 👩‍💻

Открыть в Telegram

🔴 Завтра тестовое собеседование с Java-разработчиком 5 августа(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Сергею Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе.

Открыть в Telegram

⚙️ Files.mismatch() Метод Files.mismatch(), добавленный в Java 12, позволяет сравнить два файла и найти позицию первого несовпадающего байта. Если файлы идентичны, метод возвращает -1. Это полезно для проверки целостности данных или сравнения файлов. Java Learning 👩‍💻

Открыть в Telegram

🔴 Завтра тестовое собеседование с Java-разработчиком 15 июля(уже завтра!) в 19:00 по мск приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle Java-разработчика. Как это будет: 📂 Сергей Чамкин, старший разработчик из Uzum, ex-WildBerries, будет задавать реальные вопросы и задачи разработчику-добровольцу 📂 Cергей будет комментировать каждый ответ респондента, чтобы дать понять чего от вас ожидает собеседующий на интервью 📂 В конце можно будет задать любой вопрос Сергею Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для Java-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_sh_bot Реклама. О рекламодателе.

Открыть в Telegram

❓ Вопрос на собеседовании Что такое ConcurrentHashMap в Java, как он работает и чем отличается от HashMap в многопоточной среде? Ответ ⬇️ ConcurrentHashMap — это потокобезопасная версия HashMap, предназначенная для использования в многопоточной среде. В отличие от HashMap, который не является потокобезопасным и может приводить к состояниям гонки, ConcurrentHashMap позволяет нескольким потокам одновременно читать и изменять карту без блокировок всей коллекции. Он достигает этого за счёт сегментации и блокировок на уровне сегментов, а не всей структуры. Пример использования ⚙️ import java.util.concurrent.ConcurrentHashMap; public class Main { public static void main(String[] args) { ConcurrentHashMap<String, Integer> map = new ConcurrentHashMap<>(); map.put("Alice", 1); map.put("Bob", 2); map.computeIfPresent("Alice", (key, val) -> val + 1); System.out.println(map); // {Alice=2, Bob=2} } } Java Learning 👩‍💻

Открыть в Telegram

#вопросы_с_собеседований Что будет, если в Map положить два значения с одинаковым ключом? Если в Map положить два значения с одинаковым ключом, то произойдет следующее: — При добавлении второго значения с уже существующим ключом, первое значение, связанное с этим ключом, будет перезаписано. — Map может содержать только уникальные ключи. При попытке добавить дублирующийся ключ, старое связанное значение будет заменено новым. — Конкретная реализация Map (например, HashMap) может бросить исключение, если попытаться добавить дублирующийся ключ. Таким образом, поведение в такой ситуации зависит от конкретной реализации интерфейса Map, но в целом дублирующиеся ключи в Map запрещены. Java Learning 👩‍💻

Открыть в Telegram

⚙️ String.replaceAll() В Java метод String.replaceAll() заменяет все вхождения текста, соответствующего регулярному выражению, на заданную строку. Это мощный инструмент для обработки строк. Java Learning 👩‍💻

Открыть в Telegram

⚙️ Collectors.toMap() В Java метод Collectors.toMap() собирает элементы потока в карту (Map), где вы можете указать функции для ключей и значений. Это удобно для преобразования коллекций в структуру ключ-значение. Java Learning 👩‍💻

Открыть в Telegram

⚙️ Stream.collect() с Collector.of() В Java метод Collector.of() позволяет создавать пользовательские коллекции с кастомной логикой для сборки данных. Это даёт полный контроль над процессом объединения элементов. Java Learning 👩‍💻

Открыть в Telegram

RefactorFirst RefactorFirst — это инструмент для Java-кода, помогающий определить и расставить по приоритетам классы, которые следует рефакторить в первую очередь. Он работает, сканируя код на наличие «божественных классов» (God Classes) и классов с высокой степенью связности. «Божественных классов» — это классы, которые делают слишком много и, следовательно, являются плохо спроектированными. Они могут быть трудными для понимания, тестирования и сопровождения. Java Learning 👩‍💻

Открыть в Telegram

⚙️ Collections.reverse() В Java метод Collections.reverse() изменяет порядок элементов в списке на обратный. Это удобно для работы с коллекциями, где требуется обратный порядок. Java Learning 👩‍💻

Открыть в Telegram

❓ Вопрос на собеседовании Что такое функциональный интерфейс в Java, и как он используется в лямбда-выражениях? Ответ ⬇️ Функциональный интерфейс в Java — это интерфейс с единственным абстрактным методом, который может использоваться как целевая конструкция для лямбда-выражений и ссылок на методы. Они помогают писать более чистый и выразительный код, позволяя передавать поведение (функции) как параметры. Аннотация @FunctionalInterface проверяет, что интерфейс соответствует требованиям функционального интерфейса и помогает избежать случайного добавления методов. Пример использования ⚙️ @FunctionalInterface interface MyFunctionalInterface { void printMessage(String message); } public class Main { public static void main(String[] args) { MyFunctionalInterface printer = message -> System.out.println("Сообщение: " + message); printer.printMessage("Привет, мир!"); // Сообщение: Привет, мир! } } Java Learning 👩‍💻

Открыть в Telegram

➡️ Использование Chronicle Map для распределенных ключ-значение хранилищ Chronicle Map — это мощный инструмент для создания распределенных хранилищ "ключ-значение" с высокой производительностью. Поддерживает работу с большими объемами данных в реальном времени и отлично подходит для высоконагруженных систем. • Поддерживает распределенные хранилища. • Минимальная задержка, высокая производительность. • Идеальна для финансовых и IoT-приложений. 🔗 Ссылочка на доку Java Learning 👩‍💻

Открыть в Telegram

⚙️ Files.move() В Java метод Files.move() из пакета java.nio.file используется для переименования или перемещения файла/директории. Он является мощным инструментом для работы с файловой системой. Java Learning 👩‍💻

Открыть в Telegram

Метод isDaemon() Метод isDaemon() используется для определения, является ли поток демоном или нет. Демон (daemon) — это поток, который работает в фоновом режиме и не препятствует завершению программы. Основная программа может завершиться, даже если демон все еще выполняется. Java Learning 👩‍💻

Открыть в Telegram

Комментарии

0

Комментарии пишут вошедшие — так видно, кто автор.

Войти

Комментариев пока нет

Будьте первым, кто расскажет о канале другим.

Пожаловаться на канал

Расскажите, что не так: модератор проверит канал и примет решение. Подпись не нужна, но почту можно оставить — тогда ответим.

Причина Что не так (необязательно) Почта для ответа (необязательно)
Открыть в Telegram