Javaда маалыматтар кантип сакталат?
sobes.tech AI
AIден жооп
Javaда маалыматтар ар кандай жолдор менен сакталат:
-
Примитивдүү түрлөр: Маалыматтар түздөн-түз бөлүнгөн эс тутум жайында сакталат (мисалы, стек). Аларга
byte,short,int,long,float,double,boolean,charкирет.// int - примитивдүү түр, мааниси түздөн-түз сакталат int age = 30; -
Ссылка түрлөрү: Эс тутумда сылтама (дарек) сакталат, ал объекттин (кучада) жайгашкан жерин көрсөтөт. Алар класстар, интерфейстер, массивдер болушу мүмкүн.
// String - сылтама түрү, data "Hello" объектине шилтеме сактайт String data = "Hello"; // CustomObject объекти курулат, ал кучада жайгашкан, obj шилтемени сактайт CustomObject obj = new CustomObject(); -
Массивдер: Объекттер кучада, элементтер топтомун камтыйт (примитивдүү маанилер же башка объекттердин шилтемелери). Массивдин өзгөрмөсы ошол объектке шилтеме сактайт.
// int массиви, nums массивдин объектисине шилтеме int[] numbers = new int[10]; // String массиви, names шилтемеси String объекттеринин массивине String[] names = {"Alice", "Bob"}; -
Объекттер: Кучада түзүлөт. Өзгөрмө объектке шилтеме сактайт. Объекттин ичинде анын талааларындагы примитивдүү маанилер жана башка объекттердин шилтемелери болушу мүмкүн.
// Person классы жана анын талаалары class Person { String name; // String объектине шилтеме int age; // Примитивдүү мааниде } // Person объектисин кучада түзүү, person шилтемени сактайт Person person = new Person(); person.name = "Charlie"; person.age = 25; -
Стрингдер: String классынын объекттери, кучада сакталат. Стрингдер өзгөрүлбөс (immutable). Алардын маанилери көбүнчө String Pool'до кэштелет, литерлер катары түзүлгөндө.
// Стринг литерлери, String Pool'до түзүлүшү мүмкүн String str1 = "Java"; // Жаңы String объектисин түзүү String str2 = new String("Java"); -
Коллекциялар (List, Set, Map жана башка): Объекттер кучада сакталат. Башка объекттерге шилтемелер камтыйт.
// ArrayList шилтемелерди сактайт List<String> fruits = new ArrayList<>(); fruits.add("Apple"); fruits.add("Banana"); -
Stack (Замбыр): Локалдык өзгөрмөлөрдү (примитивдер), объекттердин шилтемелерин жана метод чакырууларын (call stack) сактоо үчүн колдонулат. Stackтеги маалыматтардын жашоо цикли чакырылган методго байланыштуу.
-
Heap (Куча): Бардык объекттер сакталат. Жадыны тазалоо garbage collector тарабынан жүргүзүлөт.
Ошентип, Javaда маалыматтар стек жана куча арасында бөлүнөт.