Ответ
Примитивные типы (int, float, boolean, char и т.д.) хранят само значение в стеке, занимают фиксированный объем памяти и работают быстрее.
Ссылочные типы (String, массивы, объекты классов) хранят ссылку на объект в куче (heap), а сам объект может быть сложным и занимать больше памяти.
Пример:
int a = 5; // Примитив (значение 5 в стеке)
String s = "Hello"; // Ссылка на объект в куче
Ключевые отличия:
- Примитивы быстрее, но ограничены в функциональности.
- Ссылочные типы поддерживают
null, наследование и методы. - При копировании примитивов копируется значение, а ссылочных типов — только ссылка.