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 ?Ответ -
1) Класс не может иметь наследников;
2) Метод не может быть переопределен в классах наследниках;
3) Поле не может изменить свое значение после инициализации;
4) Локальные переменные не могут быть изменены после присвоения им значения;
5) Параметры методов не могут изменять своё значение внутри метода.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5🔥3
Вы можете создать поток двумя способами:
1. Наследуя класс
Thread.2. Реализуя интерфейс
Runnable.Пример создания потока с использованием
Runnable:class MyRunnable implements Runnable {
public void run() {
System.out.println("Поток запущен!");
}
}
Thread thread = new Thread(new MyRunnable());
thread.start();Для старта такого потока используется метод start.
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 framework с помощью аннотации @Transactional.
🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9
Профилирование — это важнейший аспект оптимизации производительности вашего Java-приложения. Профилировщики помогают отслеживать и анализировать поведение приложения во время выполнения, выявляя потенциальные узкие места и неэффективность. Выявив эти проблемы, вы сможете устранить их и значительно улучшить производительность.
Чтобы максимально эффективно использовать профилировщики Java, следуйте следующим рекомендациям:
1. Профилируйте заранее, профилируйте часто.
Регулярное профилирование вашего приложения в процессе разработки может помочь вам выявить потенциальные проблемы с производительностью на раннем этапе и оперативно устранить их, избегая дорогостоящих исправлений в дальнейшем.
2. Сосредоточьтесь на «горячих точках».
Профилировщики могут помочь вам определить «горячие точки» производительности — области кода, где ваше приложение проводит большую часть своего времени. Сосредоточение усилий по оптимизации на этих областях может привести к наиболее значительному увеличению производительности.
3. Мониторинг использования памяти.
Наблюдение за потреблением памяти и сборкой мусора может помочь вам обнаружить потенциальные утечки памяти и оптимизировать управление памятью в вашем Java-приложении.
4. Анализ поведения потоков.
Понимание того, как ведут себя ваши потоки, может помочь выявить проблемы синхронизации, взаимоблокировки и другие проблемы, связанные с параллелизмом, которые влияют на производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Данная статья поможет вам понять как устроен Spring Framework, как работает Inversion of Control на примере Dependency injection (внедрение зависимостей), а так же использование такого фреймворка, как Spring Web MVC
🔗 Ссылка на статью
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 не допускает повторения одних и тех же элементов.
Здесь важно, чтобы у объектов, которые добавляются, был реализован метод equals.
HashSet:
• не отсортирован и не упорядочен. Под капотом там HashMap с заглушкой для значения;
• использует hashCode для добавления объектов;
• стоит использовать, когда нужно иметь уникальные объекты и их порядок не важен.
LinkedHashSet:
• упорядоченная версия HashSet;
• поддерживает двусвязный список для всех элементов;
• использовать его, когда требуется упорядоченность при итерации.
TreeSet:
• одна из двух сортированных коллекций;
• использует структуру красно-черного дерева и гарантирует, что элементы будут в возрастающем порядке;
• под капотом это TreeMap с заглушкой на значениях. А элементами TreeSet являются ключи к TreeMap.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3
Ответ -
Создание ExcObj и передача в runtime есть ничто иное как “выбрасывание исключения”.
ExcObj содержит методы, по которым можно дойти до место создания исключения. Это множество методов называется Call Stack.
Далее, runtime система ищет метод в Call Stack, который сможет обработать наше исключение. Если он таки находит соответствующий обработчик, то есть тип исключения совпадает с типом в обработчике, все хорошо. Если не находит, то runtime передает всё в default exception handler, который подготавливает ответ и завершает работу.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Реактивное программирование – ваш путь к созданию систем, устойчивых к высоким нагрузкам. В данной статье вы познакомитесь с основными принципами реактивного программирования в 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 включают:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤5
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9🔥7
Большинство разработчиков имеет только примерное представление о том что происходит внутри Spring Security, что опасно и может привести к появлению уязвимостей.
В этой статье шаг за шагом пройдемся по пути http запроса, что поможет с пониманием настраивать и решать проблемы Spring Security.
🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Ответ -
- одинаковое имя метода;
- различные аргументы;
- различный порядок аргументов;
Например, один и тот же add() из List может быть перегружен следующим образом и будет выполнять добавление разным способом, в зависимости от аргументов метода:
- add(Object o) — просто добавляет объект;
- add(int index, Object o) — добавляет объект в определенный индекс;
- add(Collection<Object> c) — добавляет список объектов;
- add(int index, Collection<Object> c) — добавляет список объектов, начиная с определенного индекса.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6