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

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

Сотрудничество @offercraft_support
Download Telegram
Вопрос: Какие примитивные типы существуют в 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
Инверсия управления в Spring

Инверсия управления (IoC) — это один из ключевых принципов, лежащих в основе фреймворка Spring. Он позволяет отделить создание объектов от их использования, что делает код более гибким и тестируемым.

Вместо того чтобы создавать зависимости вручную внутри классов, Spring управляет их созданием и внедрением. Это достигается с помощью контейнера IoC, который отвечает за создание и конфигурацию объектов на основе заданных метаданных.

Преимущества IoC в Spring:

1. Упрощение тестирования: Легко заменять реальные зависимости на заглушки или моки.
2. Уменьшение связности: Компоненты могут быть изменены или заменены без необходимости модификации кода, который их использует.
3. Упрощение конфигурации: Использование аннотаций (например, @Autowired) или XML для конфигурации объектов.

Пример внедрения зависимости с помощью аннотации:

@Service
public class UserService {
private final UserRepository userRepository;

@Autowired
public UserService(UserRepository userRepository) {
this.userRepository = userRepository;
}
}

Таким образом, Spring заботится о создании UserRepository и передает его в UserService, позволяя вам сосредоточиться на бизнес-логике приложения!

🖥Java Developer | Backend |#⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6
This media is not supported in your browser
VIEW IN TELEGRAM
Когда решил прогуляться в рабочее время) 😂

Если было такое, то ставь 🔥

🖥 Java Developer | Backend | #⃣#мемы #java
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8🔥3
Вопрос: О чем говорит ключевое слово final ?
Ответ -
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.

1) Класс не может иметь наследников;
2) Метод не может быть переопределен в классах наследниках;
3) Поле не может изменить свое значение после инициализации;
4) Локальные переменные не могут быть изменены после присвоения им значения;
5) Параметры методов не могут изменять своё значение внутри метода
.


🖥 Java Developer | Backend | #⃣#вопрос #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3
Создание новых потоков в java

Вы можете создать поток двумя способами:

1. Наследуя класс Thread.

2. Реализуя интерфейс Runnable.

Пример создания потока с использованием Runnable:

class MyRunnable implements Runnable {
public void run() {
System.out.println("Поток запущен!");
}
}

Thread thread = new Thread(new MyRunnable());
thread.start();


Для старта такого потока используется метод start.

🖥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
😁6🔥3
🔤 Управление транзакциями в Spring: @Transactional в деталях

Вы можете использовать это руководство, чтобы получить простое и практическое понимание того, как работает управление транзакциями в Spring framework с помощью аннотации @Transactional.

🔗 Ссылка на статью

🖥Java Developer | Backend |#⃣ #статья #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9
Профилирование в java

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

Чтобы максимально эффективно использовать профилировщики Java, следуйте следующим рекомендациям:

1. Профилируйте заранее, профилируйте часто.
Регулярное профилирование вашего приложения в процессе разработки может помочь вам выявить потенциальные проблемы с производительностью на раннем этапе и оперативно устранить их, избегая дорогостоящих исправлений в дальнейшем.
2. Сосредоточьтесь на «горячих точках».
Профилировщики могут помочь вам определить «горячие точки» производительности — области кода, где ваше приложение проводит большую часть своего времени. Сосредоточение усилий по оптимизации на этих областях может привести к наиболее значительному увеличению производительности.
3. Мониторинг использования памяти.
Наблюдение за потреблением памяти и сборкой мусора может помочь вам обнаружить потенциальные утечки памяти и оптимизировать управление памятью в вашем Java-приложении.
4. Анализ поведения потоков.
Понимание того, как ведут себя ваши потоки, может помочь выявить проблемы синхронизации, взаимоблокировки и другие проблемы, связанные с параллелизмом, которые влияют на производительность.

🖥Java Developer | Backend |#⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥42
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
🔤 Что такое Spring Framework? От внедрения зависимостей до Web MVC

Данная статья поможет вам понять как устроен Spring Framework, как работает Inversion of Control на примере Dependency injection (внедрение зависимостей), а так же использование такого фреймворка, как Spring Web MVC

🔗 Ссылка на статью

🖥Java Developer | Backend |#⃣ #статья #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6😁5
Шпаргалка по коллекции Set

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

Здесь важно, чтобы у объектов, которые добавляются, был реализован метод equals.


HashSet:
• не отсортирован и не упорядочен. Под капотом там HashMap с заглушкой для значения;
• использует hashCode для добавления объектов;
• стоит использовать, когда нужно иметь уникальные объекты и их порядок не важен.

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

TreeSet:
• одна из двух сортированных коллекций;
• использует структуру красно-черного дерева и гарантирует, что элементы будут в возрастающем порядке;
• под капотом это TreeMap с заглушкой на значениях. А элементами TreeSet являются ключи к TreeMap.

🖥Java Developer | Backend |#⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
Вопрос: Как JVM обрабатывает исключения?
Ответ -
Как только где-то создается исключение, runtime создает Exception Object (обозначим как ExcObj). В нем хранится вся необходимая для работы информация — само исключение, которое вызывалось и место, где это произошло.

Создание ExcObj и передача в runtime есть ничто иное как “выбрасывание исключения”.

ExcObj содержит методы, по которым можно дойти до место создания исключения. Это множество методов называется Call Stack.

Далее, runtime система ищет метод в Call Stack, который сможет обработать наше исключение. Если он таки находит соответствующий обработчик, то есть тип исключения совпадает с типом в обработчике, все хорошо. Если не находит, то runtime передает всё в default exception handler, который подготавливает ответ и завершает работу.

🖥 Java Developer | Backend | #⃣#вопрос #java
Please open Telegram to view this post
VIEW IN TELEGRAM
8
🔤 Знакомство с реактивным программированием в Spring

Реактивное программирование – ваш путь к созданию систем, устойчивых к высоким нагрузкам. В данной статье вы познакомитесь с основными принципами реактивного программирования в java.

🔗 Ссылка на статью

🖥Java Developer | Backend |#⃣ #статья #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Please open Telegram to view this post
VIEW IN TELEGRAM
7😁6
Виды профилировщиков в java

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

1️⃣ VisualVM: универсальный инструмент с открытым исходным кодом, предлагающий возможности профилирования и мониторинга для приложений Java, работающих локально или удаленно. Он обеспечивает доступ к различным показателям и помогает диагностировать проблемы с производительностью.
2️⃣ JProfiler: мощный коммерческий инструмент профилирования, предлагающий богатый набор функций для измерения и анализа производительности приложений. Он предоставляет подробную информацию о процессоре, памяти и активности потоков, что помогает оптимизировать ваше приложение Java.
3️⃣ YourKit: еще один коммерческий профилировщик, предлагающий широкий спектр функций профилирования, включая профилирование ЦП и памяти, анализ потоков и мониторинг запросов к базе данных. Он предоставляет удобный интерфейс для анализа и диагностики проблем с производительностью.
4️⃣ Профилировщик NetBeans: интегрированный непосредственно в среду IDE NetBeans, он обеспечивает легкий доступ к функциям профилирования во время разработки, предоставляя информацию об использовании ЦП и памяти, сборке мусора и активности потоков.

🖥Java Developer | Backend |#⃣ #обучение #java
Please open Telegram to view this post
VIEW IN TELEGRAM
👍65