Java Developer – Telegram
Java Developer
15.8K subscribers
1.85K photos
135 videos
2 files
2.07K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣68252😁1
Вопрос с собеседования

Что такое Dependency Injection?

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
2341
👩‍💻 SpringSecurity: Простой сервис аутентификации и авторизации

В данной статье автор рассказывает, как написать простой сервис аутентификации и авторизации с выдачей JWToken.

Для реализации используется Java 17, SpringBoot 3.2.0, h2 и Maven.

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

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
21
Линуксоиды на месте?

➡️ Java Developer | #memes
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣11494😁42
👩‍💻 Методы isLetter() и isDigit()

Character.isLetter() — метод, который проверяет, является ли символ буквой. Он возвращает значение true, если символ является буквой, и false в противном случае.

Character.isDigit() — метод, который проверяет, является ли символ цифрой. Он возвращает значение true, если символ является цифрой, и false в противном случае.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
19
Please open Telegram to view this post
VIEW IN TELEGRAM
😁47🤣175
👩‍💻 FileOutputStream или FileWriter?

Запись файлов в Java осуществляется двумя способами — FileOutputStream и FileWriter. Какой именно метод выбрать, зависит от конкретной задачи.

FileOutputStream предназначен для записи потоков необработанных байтов. Это делает его идеальным решением для работы, например, с изображениями.

У FileWriter другое призвание — работа с потоками символов. Так что если вы пишете текстовые файлы, выбирайте этот метод.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
196
Вопрос с собеседования

Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?

Ответ: Равные объекты должны возвращать одинаковые хэш коды. При переопределении equals() нужно обязательно переопределять и метод hashCode().

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
332
👩‍💻 Spring и Hibernate простыми словами: обзор для новичков

Spring и Hibernate — два популярных инструмента для Java, которые используются в разработке приложений.

В этой статье мы исследуем их основные функции и особенности, как они работают вместе и почему так высоко ценятся в IT-индустрии.

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

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
175💯3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣69😁101021
👩‍💻 Локальный класс (Local inner class)

Локальный класс — это класс, объявленный внутри метода или блока кода. Он доступен только в пределах этого метода или блока.

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

В примере на картинке внутри метода main() объявлен локальный класс LocalClass. В нем определен метод printMessage(). Далее создается экземпляр LocalClass и вызывается его метод.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
158💯1
Что выведет код сверху?
Anonymous Quiz
9%
null
7%
0
45%
10
39%
Ошибка компиляции
23😁1
👩‍💻 Java-рантаймы с точки зрения Spring Boot

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

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

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

➡️ Java Developer | #статья #spring
Please open Telegram to view this post
VIEW IN TELEGRAM
132
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣636
⌨️ Mutable

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

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

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

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
218
9
В LinkedList добавили 10.000 элементов и отсортировали с помощью Collections.sort. Какая сложность будет у операции list.contains(12)?
Anonymous Quiz
24%
O(log n)
13%
O(1)
13%
O(n^2)
50%
O(n)
32
👩‍💻 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
Please open Telegram to view this post
VIEW IN TELEGRAM
1656👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
41😁13🤣10
👩‍💻 Приложение для распознавания текста с изображений и аудиофайлов

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

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

➡️ Java Developer | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
1081