Java Learning
18.8K subscribers
1.62K photos
1 video
3 files
994 links
№ 5079899194

Обучающий канал по Java

Ссылка для друга - https://t.iss.one/+ZEYYht6-46w5MDM6

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
Что выведет код сверху?
Anonymous Quiz
11%
100
62%
1
25%
Compilation error
3%
Runtime error
👍30😢7🤔3
#Вопросы_с_собеседования

🎙️ Зачем добавили ArrayList, если уже был Vector?

• Методы класса Vector синхронизированы, а ArrayList - нет;
• По умолчанию, Vector удваивает свой размер, когда заканчивается выделенная под элементы память. ArrayList же увеличивает свой размер только на половину.

Vector это устаревший класс и его использование не рекомендовано.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥1
#Вопросы_с_собеседования

Поддерживает ли язык Java множественное наследование?

Это очень хитрый вопрос. Интервьюеры часто говорят: если язык C++ может поддерживать непосредственное множественное наследование, то почему Java не может?

Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
👍24😢1
#Вопросы_с_собеседования

🎙️ Как объединить два списка в Java?

Ответ на картинке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍37😢2
Холостые циклы в Java

Смысл холостого цикла состоит в ожидании события, до наступления которого текущий поток не может двигаться дальше.

Смотреть статью
👍10🤔1
#Вопросы_с_собеседования

🎙️ Какие типы наследования существуют в Java?

В Java мы используем ключевые слова extends для наследования атрибутов и методов суперкласса или базового класса. Существует пять типов наследования:
1) Единое наследование (Single Inheritance).
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() можно заменять любые символы в строке на нужные.
👍19🤔32
Метод compareTo()

В Java метод compareTo() получает значение 0, если аргумент является строкой лексически равной данной строке; значение меньше 0, если аргумент является строкой лексически большей, чем сравниваемая строка; и значение больше 0, если аргумент является строкой лексически меньшей этой строки.
👍25🤔1😢1
Графический интерфейс для bash, делаем работу в командной строке удобнее

Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи.

Смотреть статью
👍16
👍5
👍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.
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
Пошаговая отладка, inline-методы, JVM

Смотреть статью
👍5
#вопросы_с_собеседований
Как обрабатывать исключения в Spring MVC Framework?

Spring MVC Framework предоставляет следующие способы, которые помогают добиться надежной обработки исключений.

На основе контроллера — мы можем определить методы обработчика исключений в наших классах контроллеров. Все, что нам нужно, это аннотировать эти методы аннотацией @ExceptionHandler.

Глобальный обработчик исключений. Spring предоставляет аннотацию @ControllerAdvice, которую мы можем использовать с любым классом для определения нашего глобального обработчика исключений.

Реализация HandlerExceptionResolver — для общих исключений, большую часть времени мы обслуживаем статические страницы. Spring Framework предоставляет интерфейс HandlerExceptionResolver, который мы можем реализовать для создания глобального обработчика исключений. Причина этого дополнительного способа определения глобального обработчика исключений заключается в том, что среда Spring также предоставляет классы реализации по умолчанию, которые мы можем определить в нашем файле конфигурации bean-компонента Spring, чтобы получить преимущества обработки исключений.

Для просмотра примеров кода рекомендую статью.
👍4
Класс FileWriter

Наследуется от класса OutputStreamWriter, используется для записи потоков символов. Код на картинке создает файл с разрешением .txt и записывает в него текст, а после с помощью FileReader читает его из файла.

Класс имеет несколько конструкторов, а также список вспомогательных методов, которые можно использовать для управления файлами. Больше информации о методах класса есть в документации.
👍153
Лучшие библиотеки Java для тестирования в 2023 году

Лучший способ стать самым быстрым тестировщиком — писать меньше кода. И мы можем использовать различные встроенные инструменты автоматизации. В 2023 году будут доминировать два самых больших фреймворка: Maven и Gradle.

Смотреть статью
👍52
Класс FileReader

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