Java Learning
18.9K subscribers
1.61K photos
1 video
3 files
986 links
№ 5079899194

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

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

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

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

Какие классы и интерфейсы доступны в Collection фреймворке?

Интерфейсы:
• Collection;
• List;
• Set;
• Map;
• Sorted Set;
• Sorted Map;
• Queue.
Классы:
• Lists(ArrayList, LinkedList, Vector(deprecated))
• Sets(HashSet, LinkedHashSet, TreeSet)
• Maps(HashMap, TreeMap, HashTable (deprecated), LinkedHashMap)
• Queue(Priority Queue)
👍30
Как бы вы связали Spring MVC Framework с архитектурой MVC?

Как следует из названия, Spring MVC построен на основе архитектуры Model-View-Controller. DispatcherServlet — это передний контроллер в приложении Spring MVC, который обрабатывает все входящие запросы и делегирует их различным методам обработчика контроллера.

Моделью может быть любой Java-бин в Spring Framework, как и в любой другой среде MVC Spring обеспечивает автоматическую привязку данных формы к Java-бинам. Мы можем установить bean-компоненты модели в качестве атрибутов, которые будут использоваться на страницах View.

Страницы View могут быть JSP, статическим HTML и т. д., а преобразователи представлений отвечают за поиск правильной страницы просмотра. Как только страница просмотра идентифицирована, управление возвращается контроллеру DispatcherServlet. DispatcherServlet отвечает за визуализацию представления и возврат окончательного ответа клиенту.
👍93
Collection.removeIf

Метод перебирает коллекцию, и удаляет те элементы, которые соответствуют filter.

В нашем примере мы в одну строку удаляем из списка все числа больше 5.
👍33
👍1
☕️ Изучаем 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