Junior
Какви типове данни съществуват в контекста на JVM?
sobes.tech AI
Отговор от AI
В контекста на JVM съществуват два типа данни: Примитивни типове (Primitive Types) и Типове за препратки (Reference Types).
Примитивни типове:
- Представляват основни стойности (числа, символи, булеви стойности).
- Размерът и диапазонът на стойностите на тези типове са строго определени от спецификацията на JVM.
- Предават се по стойност.
- Се съхраняват в стека (Stack).
Списък на примитивните типове:
boolean: вярно или грешно.byte: 8-битово знаково цяло число.short: 16-битово знаково цяло число.char: 16-битов Unicode символ (без знак).int: 32-битово знаково цяло число.long: 64-битово знаково цяло число.float: 32-битово число с плаваща запетая с една точност.double: 64-битово число с плаваща запетая с двойна точност.
Типове за препратки:
- Представляват препратки (адреси) към обекти в паметта (Heap).
- Размерът на препратката обикновено зависи от архитектурата на JVM (32 или 64 бита).
- Предават се чрез препратка, въпреки че технически се предава копие на самата препратка.
- Се съхраняват в купчината (Heap).
Видове типове за препратки:
- Класове (Class Types): Екземпляри на потребителски или библиотечни класове (например,
String,Object). - Интерфейси (Interface Types): Препратки към обекти, реализиращи определен интерфейс.
- Масиви (Array Types): Обекти-контейнери за съхранение на подредени колекции от елементи (както примитивни, така и препратки).
Пример за използване:
// Примитивен тип
int primitiveInt = 10;
// Препратка към обект (String)
String referenceString = new String("Hello");
// Примитивен тип в масив
int[] primitiveArray = {1, 2, 3};
// Препратка към масив
String[] referenceArray = {"A", "B"};