👍30😢7🤔3
#Вопросы_с_собеседования
🎙️ Зачем добавили ArrayList, если уже был Vector?
• Методы класса Vector синхронизированы, а ArrayList - нет;
• По умолчанию, Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.
Vector это устаревший класс и его использование не рекомендовано.
• Методы класса Vector синхронизированы, а ArrayList - нет;
• По умолчанию, Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.
Vector это устаревший класс и его использование не рекомендовано.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥1
#Вопросы_с_собеседования
Поддерживает ли язык Java множественное наследование?
Это очень хитрый вопрос. Интервьюеры часто говорят: если язык C++ может поддерживать непосредственное множественное наследование, то почему Java не может?
Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
Поддерживает ли язык Java множественное наследование?
Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
👍24😢1
Холостые циклы в Java
Смысл холостого цикла состоит в ожидании события, до наступления которого текущий поток не может двигаться дальше.
Смотреть статью
Смысл холостого цикла состоит в ожидании события, до наступления которого текущий поток не может двигаться дальше.
Смотреть статью
👍10🤔1
#Вопросы_с_собеседования
🎙️ Какие типы наследования существуют в Java?
В Java мы используем ключевые слова extends для наследования атрибутов и методов суперкласса или базового класса. Существует пять типов наследования:
1) Единое наследование (Single Inheritance).
2) Многоуровневое наследование (Multilevel Inheritance).
3) Иерархическое наследование (Hierarchical Inheritance).
4) Множественное наследование через интерфейс (Multiple Inheritance through Interface).
5) Гибридное наследование (Hybrid Inheritance).
В Java мы используем ключевые слова extends для наследования атрибутов и методов суперкласса или базового класса. Существует пять типов наследования:
2) Многоуровневое наследование (Multilevel Inheritance).
3) Иерархическое наследование (Hierarchical Inheritance).
4) Множественное наследование через интерфейс (Multiple Inheritance through Interface).
5) Гибридное наследование (Hybrid Inheritance).
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20😱9
Программа на Java, убирающая все переносы в строке
Для замены всех переносов («\n») можно использовать функцию replace(). String replace() возвращает новый объект String, который содержит ту же последовательность символов, что и исходная строка, но с замененным символом.
Таким образом с помощью функции replace() можно заменять любые символы в строке на нужные.
Для замены всех переносов («\n») можно использовать функцию replace(). String replace() возвращает новый объект String, который содержит ту же последовательность символов, что и исходная строка, но с замененным символом.
Таким образом с помощью функции replace() можно заменять любые символы в строке на нужные.
👍19🤔3❤2
Метод compareTo()
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👍25🤔1😢1
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.
Смотреть статью
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.
Смотреть статью
👍16
Что выведет код сверху?
Anonymous Quiz
29%
opengenus open false
16%
opengenus opengenus false
12%
opengenus open true
43%
opengenus opengenus true
👍35
#Вопросы_с_собеседования
🎙️ Какими свойствами обладает порождаемое equals() отношение эквивалентности?
☕️ Рефлексивность: для любой ссылки на значение x, x.equals(x) вернет true;
☕️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
☕️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
☕️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.
Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
☕️ Рефлексивность: для любой ссылки на значение x, x.equals(x) вернет true;
☕️ Симметричность: для любых ссылок на значения x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.
☕️ Транзитивность: для любых ссылок на значения x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;
☕️ Непротиворечивость: для любых ссылок на значения х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.
Для любой ненулевой ссылки на значение х выражение х.equals(null) должно возвращать false.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
#Вопросы_с_собеседования
🎙️ Укажите несколько различий между ключевыми словами super и this в Java
Ответ на картинке.
Ответ на картинке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33😢2😱1
#вопросы_с_собеседований
Как обрабатывать исключения в 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