TGViewer
Channel Public Channel
Java Developer

Java Developer

@java_tg

Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Subscribers
14.8K
Photos
2.2K
Videos
162
Links
2.5K

Showing posts older than #665 · Back to latest

Older Posts 20 shown
Post #664 5.3K
👩‍💻 Для чего нужны функциональные интерфейсы Predicate<T>, DoublePredicate, IntPredicate и LongPredicate?

Predicate<T> (предикат) — интерфейс, с помощью которого реализуется функция, получающая на вход экземпляр класса T и возвращающая на выходе значение типа boolean.

Интерфейс содержит различные методы по умолчанию, позволяющие строить сложные условия (and, or, negate).

⏺ DoublePredicate — предикат, получающий на вход Double;

⏺ IntPredicate — предикат, получающий на вход Integer;

⏺ LongPredicate — предикат, получающий на вход Long.

➡️ Java Developer
  • ❤ 10
  • ⚡ 6
  • 💯 1
Post #663 4.94K
❔ Вопрос с собеседования

Что такое Dependency Injection?

Ответ: Dependency Injection (внедрение зависимости) — это набор паттернов и принципов разработки ПО, которые позволяют писать слабосвязный код. В полном соответствии с принципом единой обязанности объект отдаёт заботу о построении требуемых ему зависимостей внешнему, специально предназначенному для этого общему механизму.

➡️ Java Developer
  • ⚡ 20
  • ❤ 5
  • 💯 4
  • 🤣 1
Post #661 5.23K
👩‍💻 Функциональный интерфейс

Функциональный интерфейс — это интерфейс, который определяет только один абстрактный метод.

Чтобы точно определить интерфейс как функциональный, добавлена аннотация @FunctionalInterface, работающая по принципу @Override. Она обозначит замысел и не даст определить второй абстрактный метод в интерфейсе.

Интерфейс может включать сколько угодно default методов и при этом оставаться функциональным, потому что default методы — не абстрактные.

➡️ Java Developer
  • 💯 5
  • ❤ 3
  • ⚡ 2
Post #660 4.89K
  • ⚡ 14
Post #658 5.53K
👩‍💻 Comparator

Comparator — это интерфейс, который используется для реализации произвольной сортировки элементов коллекции.

Чтобы задать свой порядок сортировки, нужно создать класс, реализующий Comparator, а затем переопределить метод compare.

В примере на картинке класс Main реализует интерфейс Comparator для целых чисел Integer и сортирует список чисел в обратном порядке.

➡️ Java Developer
  • 💯 13
  • ❤ 9
  • 🤣 1
Post #657 4.92K
❔ Вопрос с собеседования

LinkedList — это односвязный, двусвязный или четырехсвязный список?

Ответ: Двусвязный: каждый элемент LinkedList хранит ссылку на предыдущий и следующий элементы.

➡️ Java Developer
  • ❤ 22
  • ⚡ 5
  • 💯 2
Post #656 5.54K
👩‍💻 Fail-fast поведение

Fail-fast поведение (fail-fast behavior) — принцип в программировании для быстрого обнаружения и исправления ошибок с целью предотвращения повреждения данных и неправильного поведения программы.

В Java fail-fast поведение реализуется с использованием механизмов — если в процессе выполнения программы обнаруживается нарушение, например, попытка доступа за пределы массива или передача недопустимого аргумента в метод, генерируется исключение, и выполнение программы прерывается.

➡️ Java Developer
  • ❤ 18
  • ⚡ 1
  • 💯 1
Post #655 4.85K
  • ❤ 11
  • ⚡ 2
  • 💯 1
Post #654 5.49K
👩‍💻 ExecutorService

ExecutorService — это API JDK, упрощающий запуск задач в асинхронном режиме. В общем смысле, ExecutorService автоматически предоставляет пул потоков и API для назначения задач.

Лучший вариант использования ExecutorService — обработка независимых задач, таких как транзакции или запросы по схеме «один поток для одной задачи».

➡️ Java Developer
  • ❤ 14
  • ⚡ 1
  • 💯 1
Post #653 5.08K
❔ Вопрос с собеседования

Что такое ThreadPoolExecutor?

Ответ: ThreadPoolExecutor — это класс, который предоставляет управление пулами потоков для выполнения асинхронных задач. Он является частью пакета java.util.concurrent, который предоставляет различные средства для работы с параллельными и асинхронными задачами.

➡️ Java Developer
  • ❤ 23
  • 💯 2
  • ⚡ 1
Post #652 5.59K
👩‍💻 Параллельная редукция

Параллельная редукция — это процесс сокращения (редукции) коллекции элементов с использованием параллельных вычислений.

В Java для этого можно использовать параллельные потоки и функциональные интерфейсы, такие как reduce(), collect() и stream().

Использование параллельной редукции имеет смысл только при выполнении тяжелых вычислений или обработки больших коллекций данных.

➡️ Java Developer
  • ⚡ 12
  • ❤ 6
  • 💯 1
Post #648 5.67K
👩‍💻 Делаем свою простейшую систему сборки для Java

Автор статьи рассказывает, как в Java работает компиляция, как по шагам прийти к идее необходимости системы сборки и как написать свою простенькую систему.

Ссылка на статью — КЛИК

➡️ Java Developer
  • ❤ 18
  • 👍 1
Post #640 4.59K
👩‍💻 Final класс

Нельзя расширять класс, объявленный как final. Проще говоря, никакой класс не может наследоваться от данного.

Примером final класса в JDK является String. Первый шаг к созданию неизменяемого класса — пометить его как final, и тогда его нельзя будет расширить.

➡️ Java Developer
  • ❤ 23
  • ⚡ 5
  • 💯 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →