Java Learning
18.8K subscribers
1.61K photos
1 video
3 files
989 links
№ 5079899194

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

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

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
#Вопросы_с_собеседования

Для чего в стримах предназначен метод sorted()(Java 8)?

Метод sorted() является промежуточной операцией, которая позволяет сортировать значения либо в натуральном порядке, либо задавая Comparator.

Порядок элементов в исходной коллекции остается нетронутым - sorted() всего лишь создает его отсортированное представление.
👍15😱1
👍2
Что выведет код сверху?
Anonymous Quiz
36%
10
37%
9
19%
0
7%
RuntimeException
🤔24👍22😢8🔥2
#вопросы_с_собеседований
Что такое Java-конфигурация? Как она применяется?

Чтобы в Spring создать класс с конфигурацией на основе Java-кода, нужно аннотировать его с помощью
@Configuration. Этот класс будет содержать фабричные методы для создания бинов в контейнере. Данные методы должны быть аннотированы аннотацией @Bean. Класс с конфигурацией поместит в контейнер экземпляр класса DataSource. Потом его можно будет использовать при доступе к базе данных.
👍24
📂 Ищем файлы в хранилище на Java

Даже самая примитивная программа в виде плеера или галереи должна иметь в себе возможность поиска файлов в папках на диске устройства. Это та функция, без которой не может существовать практически ни одно нормальное Android-приложение.

Именно поэтому автор простым языком объясняет, как это реализовать на языке Java, а также рассказывает о всех нюансах и проблемах, с которыми вы можете столкнуться.

https://youtu.be/OaltzA7uCRY
👍14
#Вопросы_с_собеседования

Что такое тернарный оператор выбора?

Тернарный условный оператор ?: - оператор, которым можно заменить некоторые конструкции операторов if-then-else.

Выражение записывается в следующей форме:

условие ? выражение1 : выражение2

Если условие выполняется, то вычисляется выражение1 и его результат становится результатом выполнения всего оператора. Если же условие равно false, то вычисляется выражение2 и его значение становится результатом работы оператора. Оба операнда выражение1 и выражение2 должны возвращать значение одинакового (или совместимого) типа.
👍18🔥1
Шпаргалка по Java
Версию в хорошем качестве можно найти здесь.
👍245
Подчеркивание в числовых литералах

В Java SE 7 и более поздних версиях символы подчеркивания могут использоваться в числовых литералах без появления каких-либо предупреждений или ошибок в выводе.
👍23
#Вопросы_с_собеседования

Можно ли одновременно использовать в сервлете PrintWriter и ServletOutputStream?

Ответ:
Так сделать не получится, т.к. при попытке одновременного вызова getWriter() и getOutputStream()
будет выброшено исключение java.lang.IllegalStateException с сообщением, что уже был вызван другой метод.
👍19
#Вопросы_с_собеседования

Можно ли объявить класс абстрактным, если в нем нет абстрактных членов? Какова может быть цель такого класса?

Ответ:
Да, класс можно объявить абстрактным, даже если он не содержит абстрактных членов. Из-за абстрактности его объект не может быть создан, но сам класс может служить корневым для некоторой иерархии, предоставляя методы, которые могут быть полезны для реализаций.
👍34
Метод copyValueOf()

Метод copyValueOf() в Java имеет две различные формы:
1) public static String copyValueOf(char[] data) — возвращает строку, которая представляет собой последовательность символов в заданном массиве.
2)public static String copyValueOf(char[] data, int offset, int count) — возвращает строку, которая представляет собой последовательность символов в заданном массиве.

Параметры:
data — массив символов;
offset — начало смещения подмассива;
count — длина подмассива.
👍26
#Вопросы_с_собеседования

Какие конечные методы работы со стримами вы знаете?

findFirst()
возвращает первый элемент;
findAny() возвращает любой подходящий элемент;
collect() представление результатов в виде коллекций и других структур данных;
count() возвращает количество элементов;
anyMatch() возвращает true, если условие выполняется хотя бы для одного элемента;
noneMatch() возвращает true, если условие не выполняется ни для одного элемента;
allMatch() возвращает true, если условие выполняется для всех элементов;
min() возвращает минимальный элемент, используя в качестве условия Comparator;
max() возвращает максимальный элемент, используя в качестве условия Comparator;
forEach() применяет функцию к каждому объекту (порядок при параллельном выполнении не гарантируется);
forEachOrdered() применяет функцию к каждому объекту с сохранением порядка элементов;
toArray() возвращает массив значений;
reduce() позволяет выполнять агрегатные функции и возвращать один результат.

Для числовых стримов дополнительно доступны:
sum() возвращает сумму всех чисел;
average() возвращает среднее арифметическое всех чисел.
👍23
#Вопросы_с_собеседования

Как сборка мусора (Garbage Collection) не допускает нехватку памяти в приложении на Java?

Ответ:
Сборщик мусора (Garbage Collector) в Java — не волшебная пилюля от нехватки памяти в приложениях. Он просто очищает неиспользуемую память, когда объект выходит из области видимости и в нём отпадает потребность. Так что никакой гарантии, что сборка мусора предотвратит ошибки, связанные с нехваткой памяти, нет.
👍39
☕️ Лекции по Java, МФТИ

В курсе рассматриваются базовые принципы языка Java — от объявления переменных до работы сборщика мусора.

Лектор — Java-программист с больше, чем десятью годами опыта промышленной разработки. Курс состоит из 14 лекций.

https://youtu.be/Bgs-8eJyzhg?list=PL4_hYwCyhAvblhTbPQmOF4b3kilWSpOjU
👍193
#Вопросы_с_собеседования

Что выведет эта программа?

Ответ:
Программа напечатает “num1 == num2”. Если мы сравниваем две ссылки на объекты с помощью ==, значение всегда будет «false». Но в этом примере переменные num1 и num2 автоупаковываются (autoboxing) из-за Integer-кэширования. Вот почему num1 == num2 возвращает значение «true». Не забудьте, что Integer-кэширование актуально только для значений от -128 до 127.
👍46😱2
#Вопросы_с_собеседования

Что такое многопоточность в Java?

Многопоточность — это процесс одновременного выполнения нескольких задач в рамках одной программы. Это делается для достижения максимальной загрузки процессора.
👍32
#вопросы_с_собеседований
Что такое метааннотации?


Аннотации, которые применяются к другим аннотациям. Все аннотации, которые не отмечены @Target или отмечены им, но содержат константу ANNOTATION_TYPE, также являются мета-аннотациями.
👍20😱31
Получаем наиболее распространенный элемент в списке

Сделать это можно с помощью следующего фрагмента кода, подробнее о котором можно почитать здесь.
👍273
#вопросы_с_собеседований
Можно ли «воскресить» объект, ставший подходящим для сборки мусора?

Когда объект становится пригодным для сборки мусора, GC должен запустить для него метод finalize. Метод finalize гарантированно запускается только один раз, поэтому сборщик мусора помечает объект как завершенный и дает ему паузу до следующего цикла.

В методе finalize вы можете технически «воскресить» объект, например, присвоив его статическому полю. Объект снова станет живым и не подходящим для сборки мусора, поэтому сборщик мусора не соберет его в следующем цикле.

Однако объект будет помечен как завершенный, поэтому, когда он снова станет приемлемым, метод finalize вызываться не будет. По сути, вы можете провернуть этот трюк с «воскрешением» только один раз за время существования объекта. Имейте в виду, что этот уродливый прием следует использовать только в том случае, если вы действительно знаете, что делаете, но понимание этого приема дает некоторое представление о том, как работает сборщик мусора.
👍16😱6😢2