Vigezo vinahifadhiwaje?
Vigezo vinahifadhiwaje?

Video: Vigezo vinahifadhiwaje?

Video: Vigezo vinahifadhiwaje?
Video: КАК ВЫБРАТЬ ЗДОРОВОГО ПОПУГАЯ МОНАХА КВАКЕРА? ЧТО НЕОБХОДИМО ЗНАТЬ ДО ПОКУПКИ ПТИЦЫ. 2024, Novemba
Anonim

Vigezo ni kawaida kuhifadhiwa katika RAM. yenyewe kawaida hufuata sheria za hapo juu (kielekezi kilichotangazwa ndani ya chaguo la kukokotoa ni kuhifadhiwa kwenye stack), lakini data inayoelekeza (kumbukumbu yenyewe au kitu ulichounda na mpya) ni kuhifadhiwa kwenye lundo.

Vile vile mtu anaweza kuuliza, ni wapi vigezo vinahifadhiwa?

Vigezo vyote vya kimataifa na tuli vinahifadhiwa katika sehemu ya data, huku vibadilishio vikiwa vimehifadhiwa katika sehemu ya msimbo. Vigezo vya kimataifa vinaweza kuwa katika sehemu kadhaa, kulingana na jinsi vimewekwa - kwa mfano , const globals inaweza kuwa katika sehemu ya kusoma tu ya inayoweza kutekelezwa.

Vivyo hivyo, jinsi anuwai huhifadhiwa kwenye Java? Vitu vyote ndani Java ni kuhifadhiwa kwenye lundo. " vigezo " ambazo zinashikilia marejeleo kwao zinaweza kuwa kwenye safu au zinaweza kuwa ndani ya vitu vingine (basi sio kweli. vigezo , lakini mashamba), ambayo huwaweka kwenye lundo pia. Sehemu ya Lundo ina Vipengee (inaweza pia kuwa na marejeleo vigezo ).

Swali pia ni, ni vipi anuwai huhifadhiwa kwenye kumbukumbu?

The kumbukumbu yanayopangwa kwa a variable huhifadhiwa kwenye rundo au lundo. Inategemea muktadha ambamo inatangazwa: Kila mtaa kutofautiana (yaani moja iliyotangazwa kwa njia) ni kuhifadhiwa kwenye stack. Kila tuli variable huhifadhiwa kwenye lundo, bila kujali ikiwa imetangazwa ndani ya aina ya marejeleo au aina ya thamani.

Vigezo vya ndani huhifadhiwaje kwenye stack?

Kuhifadhi vigezo vya ndani juu ya msururu ni maelezo ya utekelezaji - kimsingi ni uboreshaji. Unaweza kufikiria kwa njia hii. Wakati wa kuingiza chaguo la kukokotoa, nafasi kwa wote vigezo vya ndani imetengwa mahali fulani. Hii ni kinyume na vigezo zilizotengwa kwenye lundo, ambazo anwani zake ni zenyewe kuhifadhiwa katika nyingine vigezo.

Ilipendekeza: