Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?
Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок
Таким образом, исходя из факта, что
Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок
catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).Таким образом, исходя из факта, что
FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.👍16❤14😁6🔥1
Что такое «абстракция»?
Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
Абстрагирование – это способ выделить набор общих характеристик объекта, исключая из рассмотрения частные и незначимые. Соответственно, абстракция – это набор всех таких характеристик.
Представьте, что водитель едет в автомобиле по оживлённому участку движения. Понятно, что в этот момент он не будет задумываться о химическом составе краски автомобиля, особенностях взаимодействия шестерёнок в коробке передач или влияния формы кузова на скорость (разве что, автомобиль стоит в глухой пробке и водителю абсолютно нечем заняться). Однако, руль, педали, указатель поворота он будет использовать регулярно.
👍12❤6🔥4
В шестом ролике серии автор снова возвращается к теме разработки веб-приложений, но на этот раз речь пойдёт о реактивных веб-приложениях на основе Spring WebFlux и Project Reactor. Попутно будут задеты темы применения инструментов интернационализации, Thymeleaf, а так же Jakarta Bean Validation, включая нюансы применения последней в реактивных веб-приложениях.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP06 Разработка реактивного веб-приложения - Разработка проектов со Spring
В шестом ролике серии я снова возвращаюсь к теме разработки веб-приложений, но на этот раз речь пойдёт о реактивных веб-приложениях на основе Spring WebFlux и Project Reactor. Попутно будут задеты темы применения инструментов интернационализации, Thymeleaf…
👍23❤5😁1
С чего начать изучение микросервисной архитектуры?
Прийти на бесплатный практический урок «Аутентификации и авторизация микросервисов», где опытный эксперт разберет:
1. Введение в микросервисную архитектуру
2. Паттерн аутентификации в микросервисах
3. Паттерн авторизации и управление доступом
4. Безопасность и мониторинг
Занятие пройдёт 3 апреля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cvyTCi
Прийти на бесплатный практический урок «Аутентификации и авторизация микросервисов», где опытный эксперт разберет:
1. Введение в микросервисную архитектуру
2. Паттерн аутентификации в микросервисах
3. Паттерн авторизации и управление доступом
4. Безопасность и мониторинг
Занятие пройдёт 3 апреля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://vk.cc/cvyTCi
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru👍6❤4
Вы пишете код для обслуживания банковских операций и определяете в нем три класса:
🔹 Person, описывает человека;
🔹 Employee, описывает банковского служащего;
🔹 Client, представляет клиента банка.
Классы Employee и Client будут производными от класса Person, так как оба класса имеют общие поля и методы. Поскольку все объекты будут представлять сотрудника или клиента банка, то напрямую мы от класса Person создавать объекты не будем.
Поэтому имеет смысл сделать его абстрактным, как на картинках.
Тем самым мы придерживаемся принципам ООП — наследование и полиморфизм (переопределяем метод display()). Также есть Инкапсуляция благодаря private полям класса Person.
С помощью всего этого, ваш код более гибкий для изменений, более читабельный и поддерживаемый.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29❤3🎉3🔥2🎄1
⁉️ Как стать востребованным разработчиком на Java в 2024?
Освойте JVM и облачную инфраструктуру на онлайн-курсе «Java Developer. Advanced» от OTUS.
После обучения вы сможете:
Все это позволит вам претендовать на вакантные позиции в крупных российских и международных компаниях.
Стартуем уже 28 марта!
👉 Узнайте подробности и пройдите короткий тест прямо сейчас, это последний шанс попасть в группу: https://otus.pw/KdKdj/
Освойте JVM и облачную инфраструктуру на онлайн-курсе «Java Developer. Advanced» от OTUS.
После обучения вы сможете:
- реализовать проект с несколькими сервисами, развёрнутыми в Kubernetes с демонстрацией модели метрик на дашборде Grafana;
- подать нагрузку на приложение, снять дамп памяти и описать его содержимое;
- запустить профилирование приложения под нагрузкой.
Все это позволит вам претендовать на вакантные позиции в крупных российских и международных компаниях.
Стартуем уже 28 марта!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5🔥3
Вышла Java 22
Вышла общедоступная версия Java 22. В этот релиз попало около 2300 закрытых задач и 12 JEP'ов.
Java 22 не является LTS-релизом, и у неё будут выходить обновления только полгода (до сентября 2024 года).
Читать статью
Вышла общедоступная версия Java 22. В этот релиз попало около 2300 закрытых задач и 12 JEP'ов.
Java 22 не является LTS-релизом, и у неё будут выходить обновления только полгода (до сентября 2024 года).
Читать статью
Хабр
Вышла Java 22
Вышла общедоступная версия Java 22 . В этот релиз попало около 2300 закрытых задач и 12 JEP'ов . Release Notes можно посмотреть здесь . Полный список изменений API – здесь . Java 22 не является...
👍24❤10🎉3
Хочешь прокачать свои знания по Spring на практике?
✅ Мы разработали для тебя интенсив, посвященный только этому фреймворку. В режиме онлайн разберем все нюансы и тонкости на практике, а ты сможешь создавать надежные приложения.
Итак, интенсив Spring Professional.
📆 Старт – 25 марта в 19:00
✍️ Формат: 8 занятий и 4 мини-проекта.
💬 Стоимость обучения – 25 000 рублей.
Что мы для тебя приготовили:
- лекции по работе с ORM и Spring Data JPA/JDBC, Spring Security, Web, MVC, и Core,
- практические задания: создать RESTful сервис и веб-приложение, Back-end и Front-end,
- доступ в библиотеку для системного аналитика и Java-разработчика.
👉 Ты же понимаешь, Spring – это непростая тема, а мы смогли для тебя в одном интенсиве собрать все важные моменты и объясним их простым языком.
Подробная информация об интенсиве и возможность оставить заявку на участие, здесь: https://clck.ru/39YAYj
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid:2VtzqwMevBe
✅ Мы разработали для тебя интенсив, посвященный только этому фреймворку. В режиме онлайн разберем все нюансы и тонкости на практике, а ты сможешь создавать надежные приложения.
Итак, интенсив Spring Professional.
📆 Старт – 25 марта в 19:00
✍️ Формат: 8 занятий и 4 мини-проекта.
💬 Стоимость обучения – 25 000 рублей.
Что мы для тебя приготовили:
- лекции по работе с ORM и Spring Data JPA/JDBC, Spring Security, Web, MVC, и Core,
- практические задания: создать RESTful сервис и веб-приложение, Back-end и Front-end,
- доступ в библиотеку для системного аналитика и Java-разработчика.
👉 Ты же понимаешь, Spring – это непростая тема, а мы смогли для тебя в одном интенсиве собрать все важные моменты и объясним их простым языком.
Подробная информация об интенсиве и возможность оставить заявку на участие, здесь: https://clck.ru/39YAYj
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid:2VtzqwMevBe
❤6🔥6👍3😁2
Forwarded from Java библиотека
Инкапсуляция
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
☕️ Объявите переменные класса как private.
☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Преимущества инкапсуляции:
☕️ Поля класса можно сделать только для чтения или только для записи.
☕️ Класс может иметь полный контроль над тем, что хранится в его полях.
Инкапсуляция в Java является механизмом обёртывания данных (переменных) и кода, работающего с данными (методами), в одно целое. В инкапсуляции переменные класса будут скрыты от других классов и доступ к ним может быть получен только с помощью метода их текущего класса. По-другому это называется скрытием данных.
Для достижения инкапсуляции в Java:
☕️ Объявите переменные класса как private.
☕️ Предоставьте public к методам установки и получения (сеттеру и геттеру) для изменения и просмотра значений переменных.
Преимущества инкапсуляции:
☕️ Поля класса можно сделать только для чтения или только для записи.
☕️ Класс может иметь полный контроль над тем, что хранится в его полях.
🔥21👍9❤2😁1
Microservices | Вопросы с Собеседований
- Подборка вопросов по микросервисной архитектуре с реальных собеседований
- Авторские статьи по архитектуре, проектированию, базам данных
- Автор - Lead Developer на Java/Kotlin
- Подборка вопросов по микросервисной архитектуре с реальных собеседований
- Авторские статьи по архитектуре, проектированию, базам данных
- Автор - Lead Developer на Java/Kotlin
🔥5👍4❤2
Седьмой ролик цикла посвящён разработке реактивных REST-сервисов на основе Spring WebFlux и Project Reactor.
В цикле роликов "Разработка проектов со Spring" автор рассказывает на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке программирования Java с использованием экосистемы Spring. Данный цикл охватывает разработку классических и реактивных проектов, вопросы их сопровождения, такие как документация и мониторинг, адаптацию их к облачной инфраструктуре и процесс их развёртывания в Docker и Kubernetes.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
SC24EP07 Разработка реактивных REST-сервисов - Разработка проектов со Spring
Седьмой ролик цикла посвящён разработке реактивных REST-сервисов на основе Spring WebFlux и Project Reactor.
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке …
В цикле роликов "Разработка проектов со Spring" я рассказываю на простых примерах о процессе разработки веб-приложений и REST-сервисов на языке …
🔥12❤4👍3
Присоединяйтесь к открытому уроку «Знакомство с Armeria»
На уроке мы погрузимся в удивительный мир фреймворка Armeria! Узнаем, какие возможности он предоставляет и как эффективно использовать его вместе с SpringBoot.
Урок посвящен курсу «Java Developer. Professional» от OTUS, где вы сможете расширить свои знания и навыки в Java разработке, и в частности, познакомиться с передовыми технологиями, такими как Armeria.
🔥 Не упустите шанс поучаствовать в увлекательном уроке и расширить свои профессиональные горизонты!
👉 Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок и получить запись:
https://otus.pw/tdwx/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3🔥1
Напишите однопоточную программу, которая заставляет коллекцию выбросить ConcurrentModificationException.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
Вопрос с подвохом: ConcurrentModificationException к многопоточности никакого отношения не имеет. Возникает эта штука тогда, когда мы пытаемся модифицировать коллекцию во время итерирования по ней.
👍32🔥4❤2
Из джуна в мидла вместе с лидером* российского ИТ-рынка — Холдингом Т1 🚀
Открытые школы Т1 — это уникальная возможность для быстрого роста в ИТ. Внутри два трека: образовательный ИТ-интенсив + карьерный в формате offer weeks в Т1.
🤚 Поможем прокачать скилы для развития внутри профессии, если ты:
- имеешь опыт работы java-разработчиком от года
- хочешь присоединиться к команде Т1.
Лучшим назначим интервью и направим оффер!
В программу интенсива входит:
🔹Spring framework
🔹Docker
🔹Синхронное и асинхронное взаимодействие, брокеры сообщений 🔹Паттерны, SOLID
📚 Формат: онлайн и по вечерам (8 часов в неделю на вебинары и практику).
Длительность — 1 месяц, стартуем в конце марта!
🏳️ Подай заявку до 26 марта.
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "Т1". ИНН 7720484492.
Открытые школы Т1 — это уникальная возможность для быстрого роста в ИТ. Внутри два трека: образовательный ИТ-интенсив + карьерный в формате offer weeks в Т1.
🤚 Поможем прокачать скилы для развития внутри профессии, если ты:
- имеешь опыт работы java-разработчиком от года
- хочешь присоединиться к команде Т1.
Лучшим назначим интервью и направим оффер!
В программу интенсива входит:
🔹Spring framework
🔹Docker
🔹Синхронное и асинхронное взаимодействие, брокеры сообщений 🔹Паттерны, SOLID
📚 Формат: онлайн и по вечерам (8 часов в неделю на вебинары и практику).
Длительность — 1 месяц, стартуем в конце марта!
🏳️ Подай заявку до 26 марта.
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "Т1". ИНН 7720484492.
🔥10❤5👍4
Классические задачи Computer Science на языке Java (2021) PDF, EPUB
Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.
В этой книге:
- Рекурсия, мемоизация и битовые манипуляции.
- Поисковые, графовые и генетические алгоритмы.
- Проблемы ограничений.
- Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.
В этой книге:
- Рекурсия, мемоизация и битовые манипуляции.
- Поисковые, графовые и генетические алгоритмы.
- Проблемы ограничений.
- Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
👍22🔥5❤3
Как архитектурно правильно подходить к избыточности при проектировании высоконагруженных систем?
Узнайте на бесплатном практическом уроке «Балансировка и отказоустойчивость приложений с HAProxy» от OTUS, где вы вместе с опытным экспертом разберете:
1. Как настраивать TCP / UDP балансировщик
2. Как работает и настраивается haproxy
3. Ответы на все возникающие вопросы по теме
Занятие пройдёт 28 марта в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/AmS0d/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Узнайте на бесплатном практическом уроке «Балансировка и отказоустойчивость приложений с HAProxy» от OTUS, где вы вместе с опытным экспертом разберете:
1. Как настраивать TCP / UDP балансировщик
2. Как работает и настраивается haproxy
3. Ответы на все возникающие вопросы по теме
Занятие пройдёт 28 марта в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/AmS0d/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤6
На что обращают внимание на техническом собеседовании на позицию Senior Java Dev рекрутеры?
🤔 А на чем делают акцент интервьюеры?
С первого взгляда кажется, что пройти такое собеседование – миссия из разряда «невыполнимых». Однако это не так. И это мы докажем тебе на нашем воркшопе.
✅ 26 марта в 19:30 мы проведем онлайн техническое собеседование на позицию Senior Java Developer.
В прямом эфире расскажем о частых ошибках в CV, как их не допустить, и разберем несколько резюме. А ты сможешь пройти реальное собеседование на позицию Senior Java Developer в компанию «Цифровые привычки».
📩 Присылай свое резюме до начала воркшопа к нам на почту: v.isaev@dhabits.ru
👉 И регистрируйся здесь: https://clck.ru/39bomd
Техническое собеседование проведет Роберт Мазитов, Java Architect, преподаватель на курсе Senior Java Developer.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxUoYzZ
🤔 А на чем делают акцент интервьюеры?
С первого взгляда кажется, что пройти такое собеседование – миссия из разряда «невыполнимых». Однако это не так. И это мы докажем тебе на нашем воркшопе.
✅ 26 марта в 19:30 мы проведем онлайн техническое собеседование на позицию Senior Java Developer.
В прямом эфире расскажем о частых ошибках в CV, как их не допустить, и разберем несколько резюме. А ты сможешь пройти реальное собеседование на позицию Senior Java Developer в компанию «Цифровые привычки».
📩 Присылай свое резюме до начала воркшопа к нам на почту: v.isaev@dhabits.ru
👉 И регистрируйся здесь: https://clck.ru/39bomd
Техническое собеседование проведет Роберт Мазитов, Java Architect, преподаватель на курсе Senior Java Developer.
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxUoYzZ
❤3👍3🔥2
Библиотека Apache Commons BeanUtils
Это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:
Он имеет поля (атрибуты) для хранения данных.
Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей.
Обычно он имеет пустой конструктор по умолчанию.
Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.
Это набор утилит для работы с Java-бинами в проектах на Java. Java-бин — это простой класс Java, который следует определенным соглашениям:
Он имеет поля (атрибуты) для хранения данных.
Он предоставляет методы доступа (геттеры и сеттеры) для чтения и записи значений этих полей.
Обычно он имеет пустой конструктор по умолчанию.
Библиотека BeanUtils упрощает работу с такими классами, избавляя вас от необходимости вручную вызывать методы доступа.
👍15❤3🔥2