Java Core Flashcards
Что такое байт-код
Это платформенно независимые инструкции, которые являются результатом компиляции Java программы и исполняются JVM.
Какой размер int переменной в 32 и 64 разрядных JVM
int 4 byte
Какие типы данных есть в Java
byte (1) short (2) char(2) int (4) long (8) double (8) float (4) boolean (depend on JVM 1-4)
Возникновение потери точности
int-> float, long-> float, long->double
Что передается по ссылке, а что по значению
Переменные простых типов по значению, все остальное по ссылке.
Что такое Autoboxing и Unboxing?
Это преобразование простых типов в обьектные
Какие блоки инициализации есть в Java
Статические и не статические
Когда вызываются блоки инициализации?
Статические при загрузке классов, вызов идет в порядке расположения в классе.
Не статические перед каждым вызовом любого конструктора, вызов идет в порядке расположения в классе.
Для каких целей используются блоки инициализации и в каких случаях?
Статические блоки - используются когда нужно сложно, с дополнительной логикой инициализировать статические поля.
Не статические - используются для инициализации полей экземпляра, выполнения дополнительной логики для ВСЕХ конструкторов.
Можем ли обьявить класс static?
Да, если это вложенный класс (static nested class).
Можем ли мы обьявить статический метод в интерефесе?
Нет, в 8ке да
Могут ли статические методы иметь доступ к нестатическим переменным в Java?
Нет ошибка компиляции
Как получить доступ к статическим членам класса в Java?
Имя класса, точка имя метода или имя переменной
Можно ли переопределить (override) статический метод в Java?
Нет
Как сериализовать статические переменные в Java?
Во време сеарилизации, так же как transient переменные, статические поля не сериализуются.
После десеарилизации статические поля будут содержать значения по умолчанию.
Что такое статический импорт?
Это импорт статических методов и переменных. Доступен с 5 версии Java&
При таком импорте не нужно использовать имя класса для вызова статического метода или переменной.
import static com.abc.Employee.*
Чем отличаются операторы & и &&?
& - битовый оператор.
&& - логический оператор.
& - всегда проверяет два значение
&& - проверяет сначала левое значение, если оно false, тогда второе даже не вычисляется.
Какие модификаторы доступа используются для класса?
public и default.
public - виден все.
default - виден исключительно в одном пакете
Какие модификаторы доступа применяются к методам
public
default
protected
private
Что такое final модификатор?
Для класса: запрещает наследоваться от этого класса.
Для метода: переопределять (override).
Для переменной: делает из переменной константу.
Для чего используется оператор instanceof?
Для проверки типа объекта. Если класс проверяемого объекта совпадает или является наследником целевого типа возвращает true.
Что возвращает оператор instanceof если проверяемый объект - null?
NPE - не будет брошен.
Вернет false.
Какие значения могут быть использованы в switch-case операторе?
Строки(Java 7+), перечисления Enum, int
Объясните использование break оператора в switch-case выражении?
Если не использовать break, тогда после нахождения валидного case, будут выполнены все последующие case выражения до первого break.