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 #1435 · Back to latest

Older Posts 20 shown
Post #1433 5.46K
👩‍💻 «Пинг-понг» на Java

Если вы искали обучающее руководство по созданию классической игры «Пинг-понг», поздравляю  —  вы его нашли!

Для реализации этой цели воспользуемся библиотекой Processing и Java.

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

➡️ Java Developer | #статья
  • ❤ 17
Post #1432 4.98K
❔ Вопрос с собеседования

Можно ли указывать конструктор внутри Enum?

Ответ: Да, именно через конструктор и задаются значения внутренних переменных enum.

➡️ Java Developer | #собеседование
  • ❤ 6
  • 💯 2
Post #1430 4.89K
👩‍💻 Рекурсия (Recursion)

Рекурсия в программировании — это процесс, при котором функция вызывает саму себя для решения задачи. Она позволяет элегантно решать сложные задачи, разбивая их на более простые подзадачи.

Основные элементы рекурсии в Java:
✅ Базовый случай — это условие, при котором функция прекращает вызывать саму себя и возвращает результат;

✅ Рекурсивный случай — это условие, при котором функция вызывает саму себя для решения более простой подзадачи. В каждом рекурсивном вызове задача упрощается, пока не достигнет базового случая;

✅ Прогресс — каждый рекурсивный вызов должен быть ближе к базовому случаю, чтобы избежать бесконечной рекурсии.


🕺 — если было полезно

➡️ Java Developer | #обучение
  • ❤ 7
  • 👍 1
  • 🤣 1
Post #1428 4.86K
👩‍💻 Comparator

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

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

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


➡️ Java Developer | #обучение
  • ❤ 3
  • 💯 3
Post #1427 5.19K
❔ Вопрос с собеседования

Как вывести на экран 10 случайных чисел, используя forEach()?

Ответ: на картинке.

➡️ Java Developer | #собеседование
  • ❤ 9
  • 🤣 4
  • 👍 1
Post #1426 5.21K
👩‍💻 Mockito: Как им пользоваться?

Несколько строк кода, и вы уже создаете моки для ваших сервисов и DAO!

Mockito предоставляет понятный API для мокирования, который делает тесты не только проще в написании, но и более читабельными.

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

➡️ Java Developer | #статья
  • ❤ 16
Post #1425 4.96K
  • 🤣 13
  • 💯 4
  • ❤ 1
Post #1422 5.47K
👩‍💻 Метод interrupt()

interrupt() — метод, который используется для прерывания потока исполнения.

Он является частью класса Thread и позволяет прервать поток, вызывая исключение InterruptedException, если поток находится в состоянии ожидания или блокировки. Если поток не находится в таком состоянии, метод interrupt() устанавливает флаг прерывания, который можно проверить с помощью метода isInterrupted().

❕ Метод interrupt() может применяться в различных ситуациях, например, когда необходимо остановить поток по запросу пользователя или когда поток должен завершиться по достижении определенного условия.


➡️ Java Developer | #обучение
  • ❤ 13
Post #1421 4.95K
❔ Вопрос с собеседования

Какое худшее время работы метода contains() для элемента, который есть в ArrayList?

Ответ: O(N). Время поиска элемента линейно пропорционально количеству элементов в списке.

➡️ Java Developer
  • ❤ 4
Post #1417 5.83K
👩‍💻 Приложение для распознавания текста с изображений и аудиофайлов

В данной статье автор делится реализацией приложения, позволяющего пользователю преобразовать и сохранить текстовую информацию из изображения или аудио-файла.

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

➡️ Java Developer | #статья
  • ❤ 10
  • ⚡ 1
Post #1414 5.32K
👩‍💻 Records

Records (записи) — это новая концепция, представленная в Java 14, которая позволяет создавать простые, неизменяемые классы-контейнеры данных.

Как правило, мы можем использовать записи в любой ситуации, когда нужно объявить простые контейнеры данных с неизменяемыми свойствами и автоматически сгенерированными методами.

Если раньше класс Student мы оформляли так:
public final class Student {
private final String name;
private final int age;

public Man(String name, int age) {
this.name = name;
this.age = age;
}

public String getName() {
return name;
}

public int getAge() {
return age;
}
}


То сейчас нам не придётся писать кучу шаблонного кода (геттеры/сеттеры, методы toString(), equals() и hashCode()):
public record Student(String name, int age) {}


Хочешь добавить метод? Легко:
public record Student(String name, int age) {
public void sayHello() {
System.out.println("Hello");
}
}


Кстати, если заглянуть в байт-код после компиляции, можно увидеть несколько интересных моментов:
⏺ Компилятор заменил ключевое слово Record на class.

⏺ Компилятор объявил класс как final. Это указывает на то, что этот класс не может быть расширен. Это также означает, что он не может быть унаследован и неизменен по своей природе.

⏺ Преобразованный класс расширяет java.lang.Record. Это указывает на то, что все записи являются подклассом класса Record, определенного в пакете java.lang.

⏺ Компилятор добавляет параметризованный конструктор.

⏺ Компилятор автоматически сгенерировал методы toString(), hashCode() и equals().

⏺ Компилятор добавил методы для доступа к полям. Обратите внимание на соглашение об именах методов — они точно совпадают с именами полей, перед именами полей не должно быть get или set.


100 🕺 — и я пишу новый пост

➡️ Java Developer | #records
  • ❤ 6
  • 👍 2
Post #1409 5.8K
⌨️ Mutable

Mutable объекты — это объекты, состояние которых можно изменить после создания.

Примеры Mutable объектов:

⏺ Массивы
⏺ Списки — ArrayList, LinkedList
⏺ Коллекции — HashMap и другие

Альтернативой являются Immutable объекты — это объекты, которые не могут быть изменены после создания. Например, String (строки), упакованные примитивные объекты, такие как Integer, Long и т.д.

➡️ Java Developer
  • ❤ 21
Post #1406 5.62K
👩‍💻 Java-рантаймы с точки зрения Spring Boot

Выбор правильного Java-рантайма для вашего проекта на Spring Boot может показаться тривиальным. В конце концов, все популярные рантаймы основываются на коде OpenJDK и предлагают одинаковые программные интерфейсы.

Но не все рантаймы реализованы одинаково. В этой статье автор описывает различные показатели, которые могут повлиять на ваше решение выбрать определенный дистрибутив Java для Spring Boot приложения.

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

➡️ Java Developer | #статья #spring
  • ❤ 13
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 →