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 - виден исключительно в одном пакете