Java Developer | Backend
1.69K subscribers
136 photos
1 video
231 links
Авторский канал действующего java разработчика

Платформа: https://offercraft.ru

Сотрудничество @offercraft_support
Download Telegram
❗️Статические блоки инициализации в Java

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

1. Инициализация статических переменных: Статические блоки позволяют выполнять более сложную логику инициализации, чем простое присваивание значений. Например, если нужно выполнить какие-то вычисления или загрузить данные из файла.

2. Обработка исключений: В статических блоках можно обрабатывать исключения, которые могут возникнуть во время инициализации. Это позволяет избежать ошибок при загрузке класса.

3. Выполнение кода при загрузке класса: Код внутри статического блока выполняется только один раз — при первом обращении к классу. Это может быть полезно для настройки статических ресурсов или выполнения одноразовых операций.

4. Упрощение кода: Статические блоки могут помочь организовать код и сделать его более читабельным, выделяя логику инициализации из конструктора.

🖥 Java Developer | Backend | #⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
🤔 Задача: Расположите в виде иерархии следующие интерфейсы Java Collection api: List, Set, Map, SortedSet, SortedMap, Deque, Collection, Iterable, NavigableMap, Queue 🖥

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

🖥 Java Developer | Backend | #️⃣ #задача #java
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Вопрос: Почему в некоторых интерфейсах вообще не определяют методов?

Ответ - Так обозначаются интерфейсы - маркеры. Они просто указывают, что класс относится к определенному типу. Примером может послужить интерфейс Clonable, который указывает на то, что класс поддерживает механизм клонирования. Так же примером является интерфейс Serializable, благодаря которому объект может быть сериализован.

🖥 Java Developer | Backend | #⃣#вопрос #java
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Java OOP

Java является объектно-ориентированным языком. Это означает, что писать программы на Java нужно с применением объектно-ориентированного стиля. И стиль этот основан на использовании в программе объектов и классов. Преимущества объектно-ориентированной разработки:
1. Модульная разработка кода, что упрощает обслуживание и модификацию. • Возможность повторного использования кода.
2. Повышенная надежность и гибкость кода.
3. Улучшенное понимание кода.
Объектно-ориентированное программирование содержит множество важных функций, таких как инкапсуляция, наследование, полиморфизм и абстракция.

🖥 Java Developer | Backend | #⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32🔥1
Вопрос: Где и для чего используется модификатор abstract?

Ответ - Класс, помеченный модификатором abstract, называется абстрактным классом. Такие классы могут выступать только предками для других классов и создавать экземпляры такого класса не разрешается. Однако наследниками абстрактного класса могут быть как другие абстрактные классы, так и классы, допускающие создание объектов.

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

Использование абстрактных классов и методов позволяет описать некий шаблон объекта, который должен быть реализован в других классах. В них же самих описывается лишь некое общее для всех потомков поведение.


🖥 Java Developer | Backend | #⃣#вопрос #java
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥1🥰1
Сборка мусора в Java

Сборка мусора (Garbage Collection) в Java — это автоматический процесс управления памятью. JVM отслеживает объекты, которые больше не используются, и освобождает память, чтобы предотвратить утечки. Это позволяет разработчикам сосредоточиться на логике приложения, не беспокоясь о ручном управлении памятью.

Кратко о структуре памяти в JVM

Куча (Heap)
Куча - это область памяти JVM, где хранятся все объекты Java и связанные с ними данные. Выделение памяти в куче происходит динамически во время выполнения программы.
Стек (Stack)
Каждый поток в Java имеет собственный стек, который содержит информацию о вызовах методов и локальных переменных. Стек устроен по принципу LIFO (last-in, first-out) и используется для управления выполнением методов и их локальными переменными.

Когда в Java создается новый объект (например, через оператор new), JVM выделяет для него память в куче (heap). Размер выделяемой памяти зависит от структуры объекта, включая его поля и связанные объекты.
После создания объект активно используется приложением. Это означает, что на объект существуют активные ссылки из других частей кода.
Обычные ссылки в Java являются сильными ссылками. Пока на объект есть хотя бы одна сильная ссылка, он остается в памяти.

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

🖥 Java Developer | Backend | #⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2🥰1
Вопрос: Какие примитивные типы существуют в java?
Ответ -
byte, short, int, long,
float, double, boolean, char


🖥 Java Developer | Backend | #⃣#вопрос #java
Please open Telegram to view this post
VIEW IN TELEGRAM
3🥰1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🥰1