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

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

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

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

Реклама на бирже - https://telega.in/c/Java_per_month
Download Telegram
☕️ Изучаем Spiring для Java

Spiring — это огромный и самый популярный Java-фреймворк для создания веб-приложений.

Весь его функционал основан на понимании Spiring Core — именно он и разбирается в этом видео.

https://youtu.be/Us40dUnbw80
👍12😢2
Поиск верхних K элементов в массиве Java

TreeSet имеет красно-черную древовидную структуру данных в качестве основы. В результате добавление значения к этому набору стоит O (log n). TreeSet - это отсортированная коллекция. Поэтому мы можем поместить все значения в набор деревьев и извлечь первые k из них.

Временная сложность этого решения равна O (n * log n). Прежде всего, предполагается, что это более эффективно, чем метод грубой силы, если k ≥ log n .

Важно помнить, что TreeSet не содержит дубликатов. В результате решение работает только для входного массива с различными значениями.

Другие варинаты решения можно посмотреть здесь.
👍115
#Вопросы_с_собеседования

Что такое критическая секция?

Критическая секция — это часть кода, которая может быть изменена всеми потоками. Для того, чтобы защитить критическую секцию, используются семафоры и блокировки (в Java это делается с помощью ключевого слова synchronized или через ReentrantLock). Подробнее по ссылке.
👍9😁1
Map.putIfAbsent

Раньше чтобы добавить пару в Map, если ее там нет, необходимо было делать следующее(см 1 часть на картинке).

Теперь все стало куда проще(см 2 часть на картинке).
👍29
#Вопросы_с_собеседования

Для чего в стримах предназначен метод 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