Чем отличаются checked и unchecked исключения?
Вопрос формулируют по-разному, суть вопроса – объяснение иерархии классов исключений. Подробно описано в документации.
Исключения бывают checked и unchecked. Checked требуется указывать в сигнатуре метода в разделе throws; перехватывать или добавлять в throws в вызывающем его методе. Unchecked можно добавить, но не обязательно, перехватывать не обязательно даже если указана в throws.
🔘 Throwable – базовый класс для всего что может быть использовано с оператором throw и в конструкции try-catch
🔘 RuntimeException – «нормальные» unchecked-исключения
🔘 Error – unchecked исключения, которые означают «серьезные проблемы» приложения. Не должны обрабатываться (хотя технически можно). Теоретически JVM может находиться в невалидном состоянии и не давать больше никаких гарантий
🔘 Exception (кроме RuntimeException) – checked исключения
@javatasks #java
Вопрос формулируют по-разному, суть вопроса – объяснение иерархии классов исключений. Подробно описано в документации.
Исключения бывают checked и unchecked. Checked требуется указывать в сигнатуре метода в разделе throws; перехватывать или добавлять в throws в вызывающем его методе. Unchecked можно добавить, но не обязательно, перехватывать не обязательно даже если указана в throws.
🔘 Throwable – базовый класс для всего что может быть использовано с оператором throw и в конструкции try-catch
🔘 RuntimeException – «нормальные» unchecked-исключения
🔘 Error – unchecked исключения, которые означают «серьезные проблемы» приложения. Не должны обрабатываться (хотя технически можно). Теоретически JVM может находиться в невалидном состоянии и не давать больше никаких гарантий
🔘 Exception (кроме RuntimeException) – checked исключения
@javatasks #java
👍9🔥3❤1
Бесплатный интенсив: Java-разработчик: старт в профессии с нуля.
📆 Когда: 27-28 ноября в 19:00 по мск.
За два дня интенсива в прямом эфире, под руководством опытного Java-разработчика, вы сможете:
✔️ Познакомиться с синтаксисом и основными конструкциями языка Java.
✔️ Написать свой первый проект и определить, подходит ли вам профессия разработчика.
✔️ Создать Telegram-бота с нуля.
✔️ Узнать ответы интересующие вас вопросы.
✔️ Получить доступ к закрытому профессиональному сообществу.
🎁 Подарки для участниковинтенсива: гайд «Как заговорить на сленге IT-специалистов», карта компетенций начинающего Java-разработчика и доступ в закрытое сообщество «Старт в Java» от Хекслета!
📆 Когда: 27-28 ноября в 19:00 по мск.
За два дня интенсива в прямом эфире, под руководством опытного Java-разработчика, вы сможете:
✔️ Познакомиться с синтаксисом и основными конструкциями языка Java.
✔️ Написать свой первый проект и определить, подходит ли вам профессия разработчика.
✔️ Создать Telegram-бота с нуля.
✔️ Узнать ответы интересующие вас вопросы.
✔️ Получить доступ к закрытому профессиональному сообществу.
🎁 Подарки для участниковинтенсива: гайд «Как заговорить на сленге IT-специалистов», карта компетенций начинающего Java-разработчика и доступ в закрытое сообщество «Старт в Java» от Хекслета!
👍5🔥2
Что будет результатом кода?
Anonymous Quiz
37%
Number is: 42
55%
Ошибка компиляции из-за использования примитивного типа с Optional
4%
Number is: Optional[42]
3%
NullPointerException при попытке обернуть 42 в Optional
1%
Number is: null
👍13🔥3
Отложенные вычисления с помощью паттернов
Присоединяйтесь к нашему открытому уроку и погрузитесь в концепцию отложенных вычислений на основе паттернов Мост, Интерпретатор, Итератор.
Ждем вас на открытом вебинаре 28 ноября в 20:00 мск.
🚀На вебинаре вы узнаете:
1. Как и когда применять шаблоны отложенных вычислений для оптимизации производительности.
2. Практические кейсы.
🎯 Вебинар будет полезен:
• Разработчикам и инженерам, стремящимся улучшить производительность в приложениях.
• Архитекторам ПО, проектирующим масштабируемые и отказоустойчивые системы.
• Тимлидам и техническим руководителям, которые хотят повысить производительность и устойчивость решений своей команды.
В результате вебинара:
• Вы научитесь применять шаблоны Мост, Интерпретатор, Итератор.
Встречаемся в преддверии старта курса «Архитектура и шаблоны проектирования». Все участники получат спец. цену на курс.
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cFjTUv
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Присоединяйтесь к нашему открытому уроку и погрузитесь в концепцию отложенных вычислений на основе паттернов Мост, Интерпретатор, Итератор.
Ждем вас на открытом вебинаре 28 ноября в 20:00 мск.
🚀На вебинаре вы узнаете:
1. Как и когда применять шаблоны отложенных вычислений для оптимизации производительности.
2. Практические кейсы.
🎯 Вебинар будет полезен:
• Разработчикам и инженерам, стремящимся улучшить производительность в приложениях.
• Архитекторам ПО, проектирующим масштабируемые и отказоустойчивые системы.
• Тимлидам и техническим руководителям, которые хотят повысить производительность и устойчивость решений своей команды.
В результате вебинара:
• Вы научитесь применять шаблоны Мост, Интерпретатор, Итератор.
Встречаемся в преддверии старта курса «Архитектура и шаблоны проектирования». Все участники получат спец. цену на курс.
Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://vk.cc/cFjTUv
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍4🔥2❤1
Что такое synchronized?
Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется this, статического – .class текущего класса.
Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока synchronized на одном и том же объекте. Такая блокировка называется intrinsic lock или monitor lock, подробно рассматривается в Java Concurrency in Practice 2.3.1.
Блок synchronized также необходим для использования методов wait, notify, notifyAll.
@javatasks #java
Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется this, статического – .class текущего класса.
Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока synchronized на одном и том же объекте. Такая блокировка называется intrinsic lock или monitor lock, подробно рассматривается в Java Concurrency in Practice 2.3.1.
Блок synchronized также необходим для использования методов wait, notify, notifyAll.
@javatasks #java
❤7👍2🔥2
Прожарка резюме для Java-разработчиков в четверг
Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.
Когда: 28 ноября, в четверг, в 19:00 по мск
Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке.
☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_sh_bot — резюме будут собирать там
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_sh_bot. Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_sh_bot
Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqw6z4nj
Ребята из менторской программы ШОРТКАТ разберут на эфире реальные резюме и подскажут, что улучшить, чтобы точно дойти до собеса.
Когда: 28 ноября, в четверг, в 19:00 по мск
Ревьюит резюме рекрутер с опытом работы в Яндексе и Т-Банке.
☑️ Если хотите закинуть своё резюме, подпишитесь на бота @shortcut_sh_bot — резюме будут собирать там
☑️ Если закидывать нечего, но хочется посмотреть со стороны — тоже подписывайтесь на бота @shortcut_sh_bot. Там будет ссылка на трансляцию и запись после
После эфира все получат памятку, как использовать ChatGPT для резюме. Ссылку пришлют, не поверите, тоже в боте @shortcut_sh_bot
Короче, подпишитесь на бот, чтобы ничего не пропустить @shortcut_sh_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2Vtzqw6z4nj
👍4🔥3❤2
Что будет результатом кода?
Anonymous Quiz
22%
hello, hello, hello, hello
49%
hello, hello, null, null
4%
strong, strong, hello, hello
6%
strong, strong, null, null
18%
hello, hello, hello, null
👍9🔥9
Хотите разобраться в Apache Kafka и использовать её возможности для потоковой обработки данных?
На бесплатном вебинаре 28 ноября в 20:00 мск мы изучим ключевые компоненты Kafka, её архитектуру и способы настройки. Вы узнаете, как управлять кластером, подключать Kafka к приложениям и решать задачи потоковой обработки данных.
Откройте для себя технологии, которые используют лидеры отрасли для высоконагруженных систем и анализа данных в реальном времени. Этот вебинар — ваш старт в мир Big Data!
Спикер Евгений Непомнящий — опытный разработчик и преподаватель.
Участники вебинара получат скидку на большое обучение по Apache Kafka.
Регистрируйтесь на бесплатный урок и узнайте, как применять Kafka для масштабных проектов: https://vk.cc/cFmNdT
На бесплатном вебинаре 28 ноября в 20:00 мск мы изучим ключевые компоненты Kafka, её архитектуру и способы настройки. Вы узнаете, как управлять кластером, подключать Kafka к приложениям и решать задачи потоковой обработки данных.
Откройте для себя технологии, которые используют лидеры отрасли для высоконагруженных систем и анализа данных в реальном времени. Этот вебинар — ваш старт в мир Big Data!
Спикер Евгений Непомнящий — опытный разработчик и преподаватель.
Участники вебинара получат скидку на большое обучение по Apache Kafka.
Регистрируйтесь на бесплатный урок и узнайте, как применять Kafka для масштабных проектов: https://vk.cc/cFmNdT
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
👍3❤2🔥2
@Transactional на методе saveOrder не работает, как это исправить?
Anonymous Quiz
24%
Добавить аннотацию @Transactional на уровень класса OrderService
54%
Вынести saveOrder в отдельный бин, который будет внедряться в OrderService
7%
Изменить модификатор доступа saveOrder на private
7%
Заменить аннотацию @Transactional на @Async для обоих методов
8%
Добавить @Primary к бину OrderService для приоритетного выбора транзакции
👍9🔥3
⁉️ Ваши микросервисы тормозят? База данных перегружена? Решение есть — кэширование!
На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.
Представьте микросервисы, которые работают молниеносно, а база данных больше не задыхается от запросов. Ваша архитектура станет не только производительной, но и устойчивой.
🔥 Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших нефтяных компаний России.
🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Только участники получат скидку на обучение: https://vk.cc/cFmQBl
На открытом уроке «Кэширование в микросервисной архитектуре» мы разберём, как ускорить системы, сократить время отклика и снизить нагрузку. Вы узнаете про паттерны кэширования, типы кэшей и популярные инструменты вроде Redis и Memcached.
Представьте микросервисы, которые работают молниеносно, а база данных больше не задыхается от запросов. Ваша архитектура станет не только производительной, но и устойчивой.
🔥 Спикер Сергей Прощаев — ведущий инженер-Java-разработчик в одной из крупнейших нефтяных компаний России.
🔴 Регистрируйтесь на вебинар 11 декабря в 20:00 мск! Урок пройдёт перед стартом курса «Microservice Architecture». Только участники получат скидку на обучение: https://vk.cc/cFmQBl
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥4❤2👍2
Что выведет данный код?
Anonymous Quiz
10%
Sum of keys: 5, Concatenated languages: GoKotlinjavaScript
23%
Sum of keys: 30, Concatenated languages: KotlinjavaScript
29%
Sum of keys: 15, Concatenated languages: GoKotlinjavaScript
33%
Sum of keys: 15, Concatenated languages: PythonGoKotlinjavaScript
6%
Sum of keys: 10, Concatenated languages: GoKotlin
🔥10👍8
Что выведет данный код?
Anonymous Quiz
7%
RuntimeException
27%
test test
56%
test + IllegalThreadStateException
10%
IllegalThreadStateException
👍10🔥2
Как оптимизировать код по памяти?
Anonymous Quiz
53%
Использовать пагинацию
20%
Загрузить данные в кеш и работать с ним оттуда
12%
Создать новый список с фильтрацией только нужных данных
5%
Изменить List на массив
10%
А что такого, норм код 🤔
👍9🔥3
Обучение на курсе «Разработчик на Spring Framework» — ваш шанс прокачаться и выйти на более серьёзные проекты!
Станьте профессионалом, который уверенно работает с микросервисной архитектурой, быстро доносит идеи до production-grade и владеет Spring на уровне, который ценят в топовых компаниях. Диплом OTUS откроет вам двери к новым возможностям и амбициозным проектам.
🎁 В "Черную пятницу", скидки на курс до 15%! Подробности у менеджеров.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2🔥2🥴1