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
#Вопросы_с_собеседования

🎙️ В чем различия между массивами и ArrayList в Java?

Ответ на картинке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24
#Вопросы_с_собеседования

🎙️ В чём заключаются различия между java.util.concurrent.Atomic*.compareAndSwap() и java.util.concurrent.Atomic*.weakCompareAndSwap()?

☕️ weakCompareAndSwap() не создает memory barrier и не дает гарантии happens-before;
☕️ weakCompareAndSwap() сильно зависит от кэша/CPU, и может возвращать false без видимых причин;
☕️ weakCompareAndSwap(), более легкая, но поддерживаемая далеко не всеми архитектурами и не всегда эффективная операция.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😢1
Пишем игру змейка на Java

Смотреть видео
👍15
Final класс

Нельзя расширять класс, объявленный как final. Проще говоря, никакой класс не может наследоваться от данного.

Прекрасным примером final класса в JDK является String. Первый шаг к созданию неизменяемого класса — пометить его как final, и тогда нельзя будет его расширить.
👍26😱2
Что выведет код сверху?
Anonymous Quiz
18%
Jeva Learning
6%
Java Learning
56%
Jeve Leerning
21%
Error
👍47😱27🤔64😢3
#Вопросы_с_собеседования

🎙️Что такое JDBC?

JDBC, Java DataBase Connectivity (соединение с базами данных на Java)
— промышленный стандарт взаимодействия Java-приложений с различными СУБД. Реализован в виде пакета java.sql, входящего в состав Java SE.

JDBC основан на концепции драйверов, которые позволяют получать соединение с базой данных по специально описанному URL. При загрузке драйвер регистрирует себя в системе и в дальнейшем автоматически вызывается, когда программа требует URL, содержащий протокол, за который этот драйвер отвечает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍333
#вопросы_с_собеседований
Что такое ViewResolver в Spring?

Реализации ViewResolver используются для разрешения страниц просмотра по имени. Мы настраиваем его в файле конфигурации bean-компонента spring. Пример на картинке.

InternalResourceViewResolver — это одна из реализаций интерфейса ViewResolver, и мы предоставляем каталог страниц просмотра и местоположение через свойства компонента. Таким образом, если метод обработчика контроллера возвращает «home», view resolver будет использовать страницу представления, расположенную по адресу /WEB-INF/views/home.jsp.
👍6
#Вопросы_с_собеседования

🚩 Возможна ли ситуация, когда HashMap выродится в список даже с ключами имеющими разные hashCode()?

Это возможно в случае, если метод, определяющий номер корзины будет возвращать одинаковые значения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
#Вопросы_с_собеседования

🔍 Что такое модификаторы доступа?

Модификаторы доступа — это инструмент, при помощи которого можно настроить доступ к классам, методам и переменным.

Бывают следующие модификаторы, упорядоченные в порядке повышения доступа:
1) private — используется для методов, полей и конструкторов. Уровень доступа — только класс, внутри которого он объявлен.
2) package-private(default) — может использоваться для классов. Доступ только в конкретном пакете (package), в котором объявлен класс, метод, переменная, конструктор.
3) protected — такой же доступ, как и package-private + для тех классов, которые наследуются от класса с модификатором protected.
4) public — используется и для классов. Полноценный доступ во всем приложении.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍274🤔1
#Вопросы_с_собеседования

🔍 Сколько создается новых объектов, когда вы добавляете новый элемент в HashMap?

Создается один новый объект статического вложенного класса Entry<K,V>.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Как новичку подарить жизнь telegram-боту на Java

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

Что выведет код сверху?

Ответ:
Compilation error

Null не является объектом в Java.

Компилятор Java предпочитает метод, который имеет более конкретные параметры.

Строка - это объект класса java.lang.Строка. Следовательно, строка более специфична, чем класс Object, но она в равной степени специфична и для класса Integer. Следовательно, значение null не может соответствовать какой-либо функции, поскольку оно не может выбирать между строкой и целым числом.
👍29🔥3
#Вопросы_с_собеседования

Как конвертировать массив в список?

Используется метод Arrays.asList(), который преобразует массив в список.
👍294
#Вопросы_с_собеседования

Что такое классы-оболочки? Что такое автоупаковка?

Для каждого из восьми примитивных типов в Java существует класс-оболочка, который можно использовать для обертывания примитивного значения и использования его как объекта. Эти классы, соответственно, Boolean, Byte, Short, Character, Integer, Float, Long и Double. Эти оболочки могут быть полезны, например, когда вам нужно поместить примитивное значение в общую коллекцию, которая принимает только объекты.

List<Integer> list = new ArrayList<>();
list.add(new Integer(5));

Чтобы избежать необходимости вручную преобразовывать примитивы туда и обратно, компилятор Java обеспечивает автоматическое преобразование, известное как автоупаковка/автораспаковка.

List<Integer> list = new ArrayList<>();
list.add(5);
int value = list.get(0);
👍142
IntelliJIDEA_cheat_sheet.pdf
147.6 KB
Шпаргалка по горячим клавишам в IntelliJ IDEA
👍42
👍1
Что выведет следующий код?
Anonymous Quiz
19%
000111222
6%
010120212
63%
Все варианты правильные
12%
012012012
🤔31👍10😢1
#Вопросы_с_собеседования

В чем разница между PrintWriter и ServletOutputStream?

PrintWriter — класс для работы с символьным потоком, экземпляр которого можно получить через метод ServletResponse getWriter();

ServletOutputStream — класс для работы байтовым потоком. Для получения его экземпляра используется метод ServletResponse getOutputStream().
👍141
#вопросы_с_собеседований
К каким переменным есть доступ у лямбда-выражений?

Если кто-то забыл, как работают лямбды, пример на картинке.
Доступ к переменным внешней области действия из лямбда-выражения очень схож к доступу из анонимных объектов. Можно ссылаться на:

☕️ неизменяемые (effectively final - не обязательно помеченные как final) локальные переменные;
☕️ поля класса;
☕️ статические переменные.

К методам по умолчанию реализуемого функционального интерфейса обращаться внутри лямбда-выражения запрещено.
👍11