#вопросы_с_собеседований
Как обрабатывать исключения в Spring MVC Framework?
Spring MVC Framework предоставляет следующие способы, которые помогают добиться надежной обработки исключений.
На основе контроллера — мы можем определить методы обработчика исключений в наших классах контроллеров. Все, что нам нужно, это аннотировать эти методы аннотацией
Глобальный обработчик исключений. Spring предоставляет аннотацию
Реализация HandlerExceptionResolver — для общих исключений, большую часть времени мы обслуживаем статические страницы. Spring Framework предоставляет интерфейс
Для просмотра примеров кода рекомендую статью.
Как обрабатывать исключения в Spring MVC Framework?
Spring MVC Framework предоставляет следующие способы, которые помогают добиться надежной обработки исключений.
На основе контроллера — мы можем определить методы обработчика исключений в наших классах контроллеров. Все, что нам нужно, это аннотировать эти методы аннотацией
@ExceptionHandler.Глобальный обработчик исключений. Spring предоставляет аннотацию
@ControllerAdvice, которую мы можем использовать с любым классом для определения нашего глобального обработчика исключений.Реализация HandlerExceptionResolver — для общих исключений, большую часть времени мы обслуживаем статические страницы. Spring Framework предоставляет интерфейс
HandlerExceptionResolver, который мы можем реализовать для создания глобального обработчика исключений. Причина этого дополнительного способа определения глобального обработчика исключений заключается в том, что среда Spring также предоставляет классы реализации по умолчанию, которые мы можем определить в нашем файле конфигурации bean-компонента Spring, чтобы получить преимущества обработки исключений.Для просмотра примеров кода рекомендую статью.
Digitalocean
Spring MVC Exception Handling - @ControllerAdvice, @ExceptionHandler, HandlerExceptionResolver | DigitalOcean
Technical tutorials, Q&A, events — This is an inclusive place where developers can find or lend support and discover new ways to contribute to the community.
👍4
Класс FileWriter
Наследуется от класса OutputStreamWriter, используется для записи потоков символов. Код на картинке создает файл с разрешением .txt и записывает в него текст, а после с помощью FileReader читает его из файла.
Класс имеет несколько конструкторов, а также список вспомогательных методов, которые можно использовать для управления файлами. Больше информации о методах класса есть в документации.
Наследуется от класса OutputStreamWriter, используется для записи потоков символов. Код на картинке создает файл с разрешением .txt и записывает в него текст, а после с помощью FileReader читает его из файла.
Класс имеет несколько конструкторов, а также список вспомогательных методов, которые можно использовать для управления файлами. Больше информации о методах класса есть в документации.
👍15❤3
Лучшие библиотеки Java для тестирования в 2023 году
Лучший способ стать самым быстрым тестировщиком — писать меньше кода. И мы можем использовать различные встроенные инструменты автоматизации. В 2023 году будут доминировать два самых больших фреймворка: Maven и Gradle.
Смотреть статью
Лучший способ стать самым быстрым тестировщиком — писать меньше кода. И мы можем использовать различные встроенные инструменты автоматизации. В 2023 году будут доминировать два самых больших фреймворка: Maven и Gradle.
Смотреть статью
Хабр
Лучшие библиотеки Java для тестирования в 2023 году
Вступление Большинство из нас стремятся быть более эффективными, целеустремленными и, самое главное, производительными в тестировании. И мы делаем все необходимое для этого. Лучший способ показать это...
👍5❤2
3 применения исключений, которые улучшат навыки программирования на Java.
https://nuancesprog.ru/p/13660/
https://nuancesprog.ru/p/13660/
NOP::Nuances of programming
3 применения исключений, которые улучшат навыки программирования на Java
Не следует использовать ifPresentOrElse для исключений. Вот как это обычно происходит (плохой пример применения пользовательских исключений времени выполнения с ifPresentOrElse)
👍9
Класс FileReader
FileReader — это класс в пакете java .io, который можно использовать для чтения потока символов из файлов. Этот класс использует либо указанную кодировку, либо кодировку платформы по умолчанию для декодирования байтов в символы.
Разберём некоторые методы класса:
read() — метод читает и передает один символ или -1, если поток завершен;
read(char [] charBuffer, int offset, int length) — считывает поток символов и сохраняет их в заданном символьном буфере. offset - это позиция, с которой начинается чтение, а length - это общее количество символов, которые необходимо прочитать. Он передает большое количество прочитанных символов либо -1, если поток завершен;
ready() — сообщает, готов ли поток к чтению. Считается, что поток готов, если его входной буфер не пуст;
getEncoding() — используется для возврата заголовка кодировки символов, которая используется потоком;
close() — закрывает поток и освобождает связанные с ним системные ресурсы.
FileReader — это класс в пакете java .io, который можно использовать для чтения потока символов из файлов. Этот класс использует либо указанную кодировку, либо кодировку платформы по умолчанию для декодирования байтов в символы.
Разберём некоторые методы класса:
read() — метод читает и передает один символ или -1, если поток завершен;
read(char [] charBuffer, int offset, int length) — считывает поток символов и сохраняет их в заданном символьном буфере. offset - это позиция, с которой начинается чтение, а length - это общее количество символов, которые необходимо прочитать. Он передает большое количество прочитанных символов либо -1, если поток завершен;
ready() — сообщает, готов ли поток к чтению. Считается, что поток готов, если его входной буфер не пуст;
getEncoding() — используется для возврата заголовка кодировки символов, которая используется потоком;
close() — закрывает поток и освобождает связанные с ним системные ресурсы.
👍9
#Вопросы_с_собеседования
🎙️ Что вы подразумеваете под статическим блоком в Java?
Статический блок в Java используется для инициализации статических переменных класса. Он выполняется только один раз: при первой загрузке класса в память.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
👍24😢3❤1
Переворачиваем изображение на 180 градусов
С помощью следующего фрагмента кода вы можете получить перевернутое на 180 градусов изображение.
Подробнее можно ознакомиться здесь.
С помощью следующего фрагмента кода вы можете получить перевернутое на 180 градусов изображение.
Подробнее можно ознакомиться здесь.
👍15😱2😢1
#Вопросы_с_собеседования
🎙️ Можем ли мы объявить метод как final в интерфейсе?
Нет, мы не можем объявить метод как final, потому что все методы в интерфейсе абстрактны, поэтому он должен быть реализован подклассом, а метод final не может быть переопределен.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29🔥1
Радиотелефончик на смартфоне на Java
Пишем радиотелефончик на смартфоне с помощью языка Java
Смотреть статью
Пишем радиотелефончик на смартфоне с помощью языка Java
Смотреть статью
👍11❤4
Object — это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследует его методы:
public boolean equals(Object obj) – служит для сравнения объектов по значению; int hashCode() – возвращает hash код для объекта; String toString() – возвращает строковое представление объекта; Class getClass() – возвращает класс объекта во время выполнения; protected Object clone() – создает и возвращает копию объекта; void notify() – возобновляет поток, ожидающий монитор; void notifyAll() – возобновляет все потоки, ожидающие монитор; void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
public boolean equals(Object obj) – служит для сравнения объектов по значению; int hashCode() – возвращает hash код для объекта; String toString() – возвращает строковое представление объекта; Class getClass() – возвращает класс объекта во время выполнения; protected Object clone() – создает и возвращает копию объекта; void notify() – возобновляет поток, ожидающий монитор; void notifyAll() – возобновляет все потоки, ожидающие монитор; void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта; protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
👍18
#Вопросы_с_собеседования
🎙️ Назовите исключения, создаваемые классами Spring DAO.
На диаграмме изображены все классы Spring DAO в иерархическом порядке.
На диаграмме изображены все классы Spring DAO в иерархическом порядке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
#Вопросы_с_собеседования
🎙️ Что произойдет, если ключевое слово static не использовать с методом main() в Java?
Ошибки компиляции не будет, но во время выполнения мы получим ошибку NoSuchMethodError.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🤔1
#Вопросы_с_собеседования
🎙️ Что такое метод main?
Это точка входа в программу. В приложении их может быть много. Причем если ни одного метода main в приложении нет, при попытке запуска возникнет ошибка Error: Main method not found.
public static void main(String[] args) {}
Это точка входа в программу. В приложении их может быть много. Причем если ни одного метода main в приложении нет, при попытке запуска возникнет ошибка Error: Main method not found.
public static void main(String[] args) {}
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15😢3
Метод regionMatches()
Используется для сравнения подстроки одной строки с подстрокой другой строки, то есть сравниваются части строк и возвращается результат этого сравнения — true (если части строк совпали) или false (не совпали).
Параметры
ignoreCase — логическая переменная со значение true — игнорировать регистр, со значением false — не игнорировать регистр.
toffset — позиция, с которой начнем отсчет.
other — другая строка, часть которой мы будем сравнивать.
ooffset — позиция, с которой начнем отсчет в строке other
len — количество символов для сравнения.
Используется для сравнения подстроки одной строки с подстрокой другой строки, то есть сравниваются части строк и возвращается результат этого сравнения — true (если части строк совпали) или false (не совпали).
Параметры
ignoreCase — логическая переменная со значение true — игнорировать регистр, со значением false — не игнорировать регистр.
toffset — позиция, с которой начнем отсчет.
other — другая строка, часть которой мы будем сравнивать.
ooffset — позиция, с которой начнем отсчет в строке other
len — количество символов для сравнения.
👍7❤3😢2
#Вопросы_с_собеседования
🎙️ В какой последовательности происходит вызов конструкторов при наследовании?
Сначала вызывается конструктор родительского или базового класса, а затем вызывается конструктор производного класса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20