#Вопросы_с_собеседования
Какое начальное количество корзин в HashMap?
В конструкторе по умолчанию - 16, используя конструкторы с параметрами можно задавать произвольное начальное количество корзин.
Какое начальное количество корзин в HashMap?
В конструкторе по умолчанию - 16, используя конструкторы с параметрами можно задавать произвольное начальное количество корзин.
👍31
LWJGL (Lightweight Java Game Library) — кроссплатформенная игровая библиотека с доступом к возможностям OpenGL, OpenAL и OpenCL. Библиотека позволяет управлять графикой, звуком, игровыми контроллерами разного типа.
Целью создания LWJGL был выход «за флажки» Java-платформы — работа с ресурсами, обычно недоступными джавистам. Библиотека используется в игровых Java-движках и фреймворках, таких как jPCT 3D для Android, LibGDX, Ardor3D.
https://www.lwjgl.org/
Целью создания LWJGL был выход «за флажки» Java-платформы — работа с ресурсами, обычно недоступными джавистам. Библиотека используется в игровых Java-движках и фреймворках, таких как jPCT 3D для Android, LibGDX, Ardor3D.
https://www.lwjgl.org/
👍16
Генерируем код и пароль
Часто мы забываем наши пароли и выбираем опцию «Забыть пароль», и в кратчайшие сроки мы получаем новый пароль на наш зарегистрированный адрес электронной почты или номер телефона для входа в нашу учетную запись.
Иногда мы получаем доступ к нашим банковским счетам во время покупок в интернет-магазине и чтобы подтвердить наш переход с банковского счета, нам отправляют нам OTP (одноразовый пароль) на наш зарегистрированный номер телефона или адрес электронной почты.
Следующий код объясняет, как быстро генерировать такие пароли и OTP.
Часто мы забываем наши пароли и выбираем опцию «Забыть пароль», и в кратчайшие сроки мы получаем новый пароль на наш зарегистрированный адрес электронной почты или номер телефона для входа в нашу учетную запись.
Иногда мы получаем доступ к нашим банковским счетам во время покупок в интернет-магазине и чтобы подтвердить наш переход с банковского счета, нам отправляют нам OTP (одноразовый пароль) на наш зарегистрированный номер телефона или адрес электронной почты.
Следующий код объясняет, как быстро генерировать такие пароли и OTP.
👍51
#Вопросы_с_собеседования
Каким образом из вложенного класса получить доступ к полю внешнего класса?
Статический вложенный класс имеет прямой доступ только к статическим полям обрамляющего класса.
Простой внутренний класс, может обратиться к любому полю внешнего класса напрямую. В случае, если у вложенного класса уже существует поле с таким же литералом, то обращаться к такому полю следует через ссылку на его экземпляр. Например: Outer.this.field.
Каким образом из вложенного класса получить доступ к полю внешнего класса?
Простой внутренний класс, может обратиться к любому полю внешнего класса напрямую. В случае, если у вложенного класса уже существует поле с таким же литералом, то обращаться к такому полю следует через ссылку на его экземпляр. Например: Outer.this.field.
👍31
Скачиваем видео с Youtube
VGet позволит вам скопировать видео с YouTube, используя только URL-адрес.
Как видите, первая строка кода в блоке try просто указывает URL-адрес YouTube.
В следующей строке указывается путь, по которому вы хотите сохранить загруженный файл.
Далее код создает экземпляр VGet. Это рабочий класс, который будет обрабатывать процесс загрузки.
Наконец, код вызывает download() метод VGet объекта.
Подробнее ознакомиться можно здесь.
VGet позволит вам скопировать видео с YouTube, используя только URL-адрес.
Как видите, первая строка кода в блоке try просто указывает URL-адрес YouTube.
В следующей строке указывается путь, по которому вы хотите сохранить загруженный файл.
Далее код создает экземпляр VGet. Это рабочий класс, который будет обрабатывать процесс загрузки.
Наконец, код вызывает download() метод VGet объекта.
Подробнее ознакомиться можно здесь.
👍45👎2
#Вопросы_с_собеседования
Верно ли утверждение, что примитивные типы данных всегда хранятся в стеке, а экземпляры ссылочных типов данных в куче?
Ответ:
Не совсем. Примитивное поле экземпляра класса хранится не в стеке, а в куче. Любой объект (всё, что явно или неявно создаётся при помощи оператора new) хранится в куче.
Верно ли утверждение, что примитивные типы данных всегда хранятся в стеке, а экземпляры ссылочных типов данных в куче?
Ответ:
👍36👎2
👍19😱13👎4❤1
Как в Java устроено выделение регистров в памяти
Когда виртуальная машина Java компилирует ваш исходный код Java в машинный, одна из задач, которые она должна при этом выполнить – решить, где хранить локальные переменные Java и другие подобные временные значения. В вашей машине отсутствует концепция локальных переменных, поэтому на этапе компиляции необходимо определиться, какое место в памяти стека (какой машинный регистр) будет использоваться для хранения каждой переменной. Эта операция называется «выделение регистров». Может показаться, что выделение регистров – сложная абстрактная теоретическая тема, но в этом коротком посте я покажу, как сначала соотнести исходный код Java с теорией, потом понять, как его видит компилятор, а потом – показать результирующий машинный код. В данном случае моя цель – продемонстрировать, что все эти концепции очень легко опробовать на практике с реальным компилятором.
Читать статью
Когда виртуальная машина Java компилирует ваш исходный код Java в машинный, одна из задач, которые она должна при этом выполнить – решить, где хранить локальные переменные Java и другие подобные временные значения. В вашей машине отсутствует концепция локальных переменных, поэтому на этапе компиляции необходимо определиться, какое место в памяти стека (какой машинный регистр) будет использоваться для хранения каждой переменной. Эта операция называется «выделение регистров». Может показаться, что выделение регистров – сложная абстрактная теоретическая тема, но в этом коротком посте я покажу, как сначала соотнести исходный код Java с теорией, потом понять, как его видит компилятор, а потом – показать результирующий машинный код. В данном случае моя цель – продемонстрировать, что все эти концепции очень легко опробовать на практике с реальным компилятором.
Читать статью
👍14
Корректно ли такое выражение?
Anonymous Quiz
44%
Да
47%
Нет, будет ошибка компиляции
9%
Нет, будет ошибка во время выполнения
👍24😱1
Побитовые операции
•
•
•
•
•
•
•
•
•
•
•
•
•
•
~
: Побитовый унарный оператор NOT;•
&
: Побитовый AND;•
&=
: Побитовый AND с присваиванием;•
|
: Побитовый OR;•
|=
: Побитовый OR с присваиванием;•
^
: Побитовый исключающее XOR;•
^=
: Побитовый исключающее XOR с присваиванием;•
>>
: Сдвиг вправо (деление на 2 в степени сдвига);•
>>=
: Сдвиг вправо с присваиванием;•
>>>
: Сдвиг вправо без учёта знака;•
>>>=
: Сдвиг вправо без учёта знака с присваиванием;•
<<
: Сдвиг влево (умножение на 2 в степени сдвига);•
<<=
: Сдвиг влево с присваиванием.👍30
#Вопросы_с_собеседования
Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
Ответ:
В примере возникает ошибка, потому что
Приведите пример, когда какая-либо коллекция выбрасывает UnsupportedOperationException.
Ответ:
В примере возникает ошибка, потому что
Collections.emptyList()
возвращает пустой список без возможности добавления элементов.👍30
JUnit
JUnit — свободный Java-фреймворк для создания модульных тестов (они же — юнит-тесты). Эта библиотека — одна из самых популярных, её используют почти все. Рекомендуем вам разобраться с ней как можно быстрее, поскольку очень часто начинающих Java-разработчиков и Java Trainee заставляют «покрывать код тестами». И, надо сказать, это далеко не самое плохое начало карьеры.
Больше информации о Junit можно найти здесь.
JUnit — свободный Java-фреймворк для создания модульных тестов (они же — юнит-тесты). Эта библиотека — одна из самых популярных, её используют почти все. Рекомендуем вам разобраться с ней как можно быстрее, поскольку очень часто начинающих Java-разработчиков и Java Trainee заставляют «покрывать код тестами». И, надо сказать, это далеко не самое плохое начало карьеры.
Больше информации о Junit можно найти здесь.
👍11
#Вопросы_с_собеседования
Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode()?
Общий совет: выбирать поля, которые с большой долью вероятности будут различаться. Для этого необходимо использовать уникальные, лучше всего примитивные поля, например, такие как id, uuid. При этом нужно следовать правилу, если поля задействованы при вычислении hashCode(), то они должны быть задействованы и при выполнении equals().
Есть ли какие-либо рекомендации о том, какие поля следует использовать при подсчете hashCode()?
Общий совет: выбирать поля, которые с большой долью вероятности будут различаться. Для этого необходимо использовать уникальные, лучше всего примитивные поля, например, такие как id, uuid. При этом нужно следовать правилу, если поля задействованы при вычислении hashCode(), то они должны быть задействованы и при выполнении equals().
👍21
👍30
#Вопросы_с_собеседования
Поддерживает ли язык Java множественное наследование?
Это очень хитрый вопрос. Интервьюеры часто говорят: если язык C++ может поддерживать непосредственное множественное наследование, то почему Java не может?
Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
Поддерживает ли язык Java множественное наследование?
Ответ несколько более сложен, чем может показаться на первый взгляд, поскольку Java поддерживает множественное наследование типов, ведь интерфейс в нём может расширять другие интерфейсы. Но множественное наследование реализаций язык Java не поддерживает.
👍42😱9👎5