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

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

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

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 LinkedHashSet

LinkedHashSet — структура данных, которая хранит элементы в порядке их добавления, а также не допускает дублирования элементов, как и HashSet.

В отличие от HashSet, LinkedHashSet сохраняет порядок добавления элементов, что может быть полезно в некоторых случаях.

Как видно из примера, элементы были добавлены в множество в порядке их добавления, а дубликат элемента "Java" добавлен не был.

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

Что делает метод intern() в классе String?

Ответ: Метод intern() используется для сохранения строки в пуле строк или получения ссылки, если такая строка уже находится в пуле.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 JDBC

JDBC, Java DataBase Connectivity (соединение с базами данных на Java) — промышленный стандарт взаимодействия Java-приложений с различными СУБД. Реализован в виде пакета java.sql, входящего в состав Java SE.

JDBC основан на концепции драйверов, которые позволяют получать соединение с базой данных по специально описанному URL. При загрузке драйвер регистрирует себя в системе и в дальнейшем автоматически вызывается, когда программа требует URL, содержащий протокол, за который этот драйвер отвечает.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой из вариантов является строчным комментарием?
Anonymous Quiz
96%
// комментарий
0%
/* комментарий
2%
/* комментарий */
2%
/** комментарий */
👩‍💻 Блокирующий метод

Блокирующий метод — метод, который блокируется до тех пор, пока задание не выполнится.

Например метод accept() у ServerSocket блокируется в ожидании подключения клиента. Здесь блокирование означает, что контроль не вернётся к вызывающему методу до тех пор, пока не выполнится задание. Так же существуют асинхронные или неблокирующиеся методы, которые могут завершится до выполнения задачи.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
10%
5
44%
6
39%
7
8%
Ошибка компиляции
2
👩‍💻 Java Server Pages (JSP)

JSP (Java Server Pages) — платформонезависимая переносимая и легко расширяемая технология разработки веб-приложений, позволяющая создавать содержимое, которое имеет как статические, так и динамические компоненты.

Страница JSP содержит текст двух типов: статические исходные данные, которые могут быть оформлены в одном из текстовых форматов HTML, SVG, WML, или XML, и JSP-элементы, которые конструируют динамическое содержимое. Кроме этого могут использоваться библиотеки JSP-тегов, а также EL (Expression Language), для внедрения Java-кода в статичное содержимое JSP-страниц.

Код JSP-страницы транслируется в Java-код сервлета с помощью компилятора JSP-страниц Jasper, и затем компилируется в байт-код JVM.

JSP-страницы загружаются на сервере и управляются Java EE Web Application. Обычно такие страницы упакованы в файловые архивы .war и .ear.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое из перечисленных имён является простым?
Anonymous Quiz
2%
MyClass.name.toString().hashCode()
11%
MyClass.name.toString()
54%
MyClass
12%
Ни один из перечисленных
😁11
👩‍💻 Queue

Queue
— это интерфейс в Java Collections Framework, который представляет собой коллекцию элементов, организованных в соответствии с принципом FIFO (First In, First Out). Это означает, что элементы добавляются в конец очереди и извлекаются из начала очереди.

Queue используется в ситуациях, когда необходимо управлять порядком обработки элементов.

В примере мы создаем очередь строк и добавляем в нее три элемента. Затем извлекаем элементы из очереди с помощью метода poll(), который возвращает и удаляет элемент из начала очереди. Элементы извлекаются в том же порядке, в каком и добавляются.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 FutureTask

FutureTask — отменяемое асинхронное вычисление в параллельном Java приложении. Этот класс предоставляет базовую реализацию Future, с методами для запуска и остановки вычисления, методами для запроса состояния вычисления и извлечения результатов. Результат может быть получен только когда вычисление завершено, метод получения будет заблокирован, если вычисление ещё не завершено.

Объекты FutureTask могут быть использованы для обёртки объектов Callable и Runnable. Так как FutureTask реализует Runnable, его можно передать в Executor на выполнение.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Узнаем разницу между датами

Для вычисления разницы между двумя датами, представленными в виде строк, можно использовать классы java.time.LocalDate и java.time.temporal.ChronoUnit из пакета java.time.

В этом примере мы используем метод LocalDate.parse() для преобразования строковых значений в объекты типа LocalDate. Затем мы используем метод ChronoUnit.between() для вычисления разницы между двумя датами в днях, месяцах и годах.

Обратите внимание, что вы должны использовать формат даты "yyyy-MM-dd" для парсинга строковых значений даты. Если ваши строки даты имеют другой формат, вам может потребоваться использовать другой метод для преобразования их в объекты LocalDate.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Dependency Injection в Spring Framework

Инверсия контроля (inversion of control, IoC) — принцип проектирования, по которому контроль над потоком управления передается фреймворку. Управляющий и прикладной код разделяются. При разработке модуля этот подход избавляет от необходимости знать о других модулях программы и деталях их взаимодействия. Такой код становится более переиспользуемым и модульным, уменьшает связность.

Внедрение зависимостей (Dependency Injection, DI) — одна из реализаций IoC. При взаимодействии с другими модулями, программа оперирует высокоуровневыми абстракциями, тогда как конкретная её реализация поставляется фреймворком.

Стандартная реализация DI — фреймворк инстанциирует все сервисы, и складывает их в IoC-контейнер. При этом специальная сущность, Service Locator, занимается поиском соответствия реализаций абстракциям и их внедрением.

Сущности бизнес-логики в Spring, как и в JavaEE называются beans. Бины объявляются различными способами, корни большинства из них лежат в понятии Configuration. В качестве контейнера бинов выступает ApplicationContext. Чтобы передать инициализацию зависимости контексту, она помечается аннотацией @Autowired.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Как называется оператор, увеличивающий значение переменной на еденицу?
Anonymous Quiz
90%
Инкремент
6%
Декремент
4%
Такого оператора нет
1
Вопрос с собеседования

Что такое маркерный интерфейс?

Ответ: Маркерный интерфейс — это интерфейс без каких-либо методов. Обычно он реализуется классом или расширяется другим интерфейсом для обозначения определённого свойства.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
📱 Всё о Java / Войти в IT после 30 / Интервью с Senior Java Developer

Смотреть видео

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Разница между классами java.util.Collection и java.util.Collections

java.util.Collections — набор статических методов для работы с коллекциями.

java.util.Collection — один из основных интерфейсов Java Collections Framework.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Метод substring

Метод substring() используется для извлечения подстроки из строки и не изменяет исходную строку, а возвращает новую подстроку. Метод имеет две формы:

substring(int beginIndex) — извлекает подстроку от beginIndex до конца строки;

substring(int beginIndex, int endIndex) — извлекает подстроку от beginIndex до endIndex.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Основные принципы Stream API

Stream API — это функциональный интерфейс в Java 8, который позволяет работать с коллекциями объектов с помощью функциональных операций.

Основные принципы Stream API включают в себя:

Stream API не выполняет операции над элементами коллекции до тех пор, пока не будет вызван терминальный метод;

Stream API представляет собой поток данных, который можно обрабатывать с помощью функциональных операций;

Stream API предоставляет множество функциональных операций, таких как filter(), map(), reduce() и т. д., которые позволяют обрабатывать элементы потока данных;

Stream API не изменяет исходную коллекцию, а создает новый поток данных на основе исходной коллекции;

Stream API позволяет обрабатывать элементы потока данных параллельно, что может ускорить выполнение операций над большими коллекциями;

Stream API требует вызова терминальной операции, такой как forEach(), collect() или reduce(), чтобы выполнить операции над элементами потока данных и получить результат.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Узнаем количество цифр в строке

В примере на картинке мы объявляем строку str и устанавливаем ее значение на "abc123def456". Затем мы создаем переменную count, которая будет использоваться для подсчета количества цифр в строке.

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

К каким конструкциям Java применим модификатор static?

Ответ: полям, методам, вложенным классам, членам секции import.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM