Предположим, есть метод, который может выбросить IOException и FileNotFoundException в какой последовательности должны идти блоки catch? Сколько блоков catch будет выполнено?
Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).
Таким образом, исходя из факта, что FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.
✅ Java библиотека #java
Общее правило: обрабатывать исключения нужно от «младшего» к старшему. Т.е. нельзя поставить в первый блок catch(Exception ex) {}, иначе все дальнейшие блоки catch() уже ничего не смогут обработать, т.к. любое исключение будет соответствовать обработчику catch(Exception ex).
Таким образом, исходя из факта, что FileNotFoundException extends IOException сначала нужно обработать FileNotFoundException, а затем уже IOException.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3🔥3
Лайфхаки визуального сторителлинга 😉
Рассказываем, почему это полезно и как его построить, чтобы было понятно всем: и менеджерам, и разработчикам, и дизайнерам⬆
И да, вы справитесь, даже если не умеете рисовать! Александр Зинченко, СТО Яндекс 360, поделился инструментами для быстрых и удобных скетчей. А ещё рассказал про сложности передачи идей в проектных командах, которые можно решить с помощью визуального сторителлинга😎
Больше интересной и полезной информации в канале от команды Яндекс 360
Рассказываем, почему это полезно и как его построить, чтобы было понятно всем: и менеджерам, и разработчикам, и дизайнерам
И да, вы справитесь, даже если не умеете рисовать! Александр Зинченко, СТО Яндекс 360, поделился инструментами для быстрых и удобных скетчей. А ещё рассказал про сложности передачи идей в проектных командах, которые можно решить с помощью визуального сторителлинга
Больше интересной и полезной информации в канале от команды Яндекс 360
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥2
<dependency>
<groupId>com.navercorp.fixturemonkey</groupId>
<artifactId>fixture-monkey-starter</artifactId>
<version>1.0.20</version>
<scope>test</scope>
</dependency>
Fixture Monkey позволяет упростить написание тестов, облегчая генерацию необходимых тестовых объектов.
При этом можно повторно использовать одни и те же конфигурации объектов в нескольких тестах.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥2😁1
charBuffer
Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.
Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.
В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
✅ Java библиотека #java
Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит java.nio.
Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.
В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥3
Вместо того, чтобы вручную прописывать данные:
Address address = new Address();
address.setCity("city");
//...
Person person = new Person();
person.setFirstName("first-name");
person.setLastName("last-name");
person.setAge(22);
person.setGender(Gender.MALE);
можно сделать просто:
Person person = Instancio.create(Person.class);
Эта строка создаёт объект
Person()
со всеми заполненными полями, в них вписываются случайные значения. Эти значения можно полностью воспроизвести, если тест упадёт
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤4🔥2
Hilla позволяет быстрее создавать бизнес-приложения — больше не нужно жонглировать эндпойнтами REST или расшифровывать запросы GraphQL.
Hilla объединяет Spring Boot и React, поэтому разработка приложений становится очень быстрой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5🔥4😁2
Работа с коллекциями с помощью Streams
Java Streams позволяют легко и эффективно работать с коллекциями данных, такими как списки, используя функциональный подход.
👀 Этот простой пример показывает, как с помощью Streams можно легко фильтровать и преобразовывать данные в коллекциях, делая код более лаконичным и понятным.
✅ Java библиотека #java
Java Streams позволяют легко и эффективно работать с коллекциями данных, такими как списки, используя функциональный подход.
👀 Этот простой пример показывает, как с помощью Streams можно легко фильтровать и преобразовывать данные в коллекциях, делая код более лаконичным и понятным.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤5🔥3
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
<version><!--replace with the latest version, see below--></version>
</dependency>
Chronicle Queue — это система обмена сообщениями с низкой задержкой для высокопроизводительных приложений.
Chronicle Queue — не просто ещё одна реализация очереди, в ней есть несколько важных архитектурных решений.
Не используя для хранения кучу, Chronicle Queue обеспечивает среду, в которой приложения не страдают от сборки мусора — а ведь это одна из самых больших проблем сложных приложений на Java.
Chronicle Queue позволяет добавлять сообщения в конец очереди, читать из очереди, а также поддерживает поиск сообщений.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6❤4
Double-brace инициализация
Это нестандартная инициализация объекта, которая использует двойные фигурные скобки для создания и инициализации коллекций, таких как списки (List) или множества (Set) в одной строке. Этот метод инициализации обычно используется для краткости кода, но его использование не является рекомендуемой практикой в реальных проектах из-за своей неочевидности и потенциальных проблем.
Вместо double-brace инициализации лучше использовать стандартные способы создания и инициализации коллекций в Java, такие как вызов конструктора и методов добавления элементов.
✅ Java библиотека #java
Это нестандартная инициализация объекта, которая использует двойные фигурные скобки для создания и инициализации коллекций, таких как списки (List) или множества (Set) в одной строке. Этот метод инициализации обычно используется для краткости кода, но его использование не является рекомендуемой практикой в реальных проектах из-за своей неочевидности и потенциальных проблем.
Вместо double-brace инициализации лучше использовать стандартные способы создания и инициализации коллекций в Java, такие как вызов конструктора и методов добавления элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13👍7❤5
RIFE2 построен на базе оригинального фреймворка RIFE, который когда-то был популярен.
RIFE2 сохраняет большинство оригинальных функций и добавляет новые, занимая меньше места и обеспечивая еще большую производительность.
RIFE2 был создан Геертом Бевином, ветераном программирования на Java
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5