Referencja (informatyka)

Referencja – wartość, która zawiera informacje o położeniu innej wartości w pamięci lub nośniku danych. W odróżnieniu od wskaźników, zarządzanie referencjami realizowane jest wyłącznie przez kompilator lub interpreter, a programista nie posiada żadnych informacji o konkretnym sposobie implementacji referencji.

Mechanizm referencji jest powszechnie wykorzystywany w językach programowania, gdyż idea jego działania polega m.in. na uniemożliwieniu wykonywania operacji uznawanych za potencjalnie niebezpieczne, które w wypadku błędu programistycznego mogłyby doprowadzić do awarii, zmniejszając w ten sposób niezawodność oprogramowania[1]. Referencje nie ograniczają możliwości programisty – wszystkie operacje, które nie bazują na jawnej znajomości organizacji pamięci, mogą być zaimplementowane wyłącznie za ich pomocą. Z tego powodu w wielu językach programowania wysokiego poziomu jest to jedyny mechanizm obsługi pamięci (np. Java[1]). W innych referencje współistnieją ze wskaźnikami (np. C++[1]).

Zastosowania

Dopełnienie mechanizmu wskaźników

W niskopoziomowych językach takich, jak C++, referencje są implementowane jako oferująca mniej możliwości, ale bezpieczniejsza odmiana wskaźników. Podobnie jak i one, referencje wskazują tutaj na pewien obszar pamięci z tą różnicą, że nie mogą być modyfikowane. Innymi słowy, już podczas tworzenia zmiennej będącej referencją musimy określić, na co będzie ona wskazywać, a ponadto referencji nie wolno później modyfikować.

Referencje do obiektów

W wielu językach zmienne obiektowe są jedynie referencjami do obiektów znajdujących się na stercie.

W wielu obiektowych językach wysokiego poziomu (np. Java) programista nie może samodzielnie zarządzać pamięcią. Sposób jej organizacji zależy od implementacji konkretnej maszyny wirtualnej. Wyróżniony jest w niej obszar zwany stertą, w której przechowywane są wszystkie utworzone przez aplikację obiekty. Zmienne obiektowe nie przechowują bezpośrednio obiektów, a jedynie referencje do sterty. Przypisując wartość jednej zmiennej obiektowej do drugiej, lub przekazując ją przez wartość, przekazujemy jedynie referencję, co oznacza, że od tego momentu obie zmienne będą odnosić się do tego samego obiektu, a zmiany stanu wprowadzone za pośrednictwem jednej z nich będą natychmiast widoczne przez drugą.

Dodatkowo, dopuszcza się istnienie pustych referencji (null), które aktualnie nie wskazują na żaden obiekt.

Odśmiecanie pamięci

Referencje mają kluczowe znaczenie dla algorytmów odśmiecania pamięci. Umożliwiają śledzenie, które obiekty i wartości są wciąż używane przez program, a które mogą być bezpiecznie usunięte. Najprostszą techniką kontroli czasu życia danych na stercie jest zliczanie referencji[2]. Aplikacja utrzymuje specjalny licznik dla każdego obiektu, który przechowuje informacje o liczbie referencji aktualnie na niego wskazujących. Jeśli spadnie on do zera, oznacza to, że nie jest już używany, a przydzielona mu pamięć powinna być zwolniona. Technika ta nie potrafi jednak wykrywać cykli (obiekty A i B posiadają referencje do siebie nawzajem, lecz reszta programu już nie).

Zobacz też

Przypisy

  1. a b c Harry Henderson: Encyclopedia of computer science and technology. Facts on File, Inc, 2008, s. 376 - 377. ISBN 978-0-8160-6382-6. (ang.).
  2. Recycling techniques. The Memory Management Reference. [dostęp 2010-12-08]. (ang.).

Read other articles:

Leang PattaGua PattaLokasiKampung Pangia, Dusun Pattunuang, Desa Samangki, Kecamatan Simbang, Kabupaten Maros, Sulawesi Selatan, IndonesiaPanjang± 950 meterGeologikarst / batu kapur / batu gampingFiturterdapat sungai bawah tanah dengan sedikit lembab dan berairSitus webvisit.maroskab.go.idcagarbudaya.kemdikbud.go.idkebudayaan.kemdikbud.go.id/bpcbsulsel/ Leang Patta atau Gua Patta (Inggris: Patta Cave ) adalah sebuah gua di Kawasan Karst Maros-Pangkep, Taman Nasional Bantimurung-Bulusaraung. ...

 

Yosua 10Kitab Yosua lengkap pada Kodeks Leningrad, dibuat tahun 1008.KitabKitab YosuaKategoriNevi'imBagian Alkitab KristenPerjanjian LamaUrutan dalamKitab Kristen6← pasal 9 pasal 11 → Yosua 10 (disingkat Yos 10) adalah pasal kesepuluh Kitab Yosua dalam Alkitab Ibrani dan Perjanjian Lama di Alkitab Kristen yang memuat riwayat Yosua dalam memimpin orang Israel menduduki tanah Kanaan.[1] Pasal ini berisi riwayat pertempuran dekat Gibeon dan penyerangan ke bagian selatan tanah...

 

Israeli taekwondo practitioner Moti Lugasi Medal record Representing  Israel Men’s taekwondo 2010 European Taekwondo Championships 2010 Saint Petersburg 54 kg Moti lugasi pro atlete. Moti Lugasi (born April 18, 1992) is an Israeli taekwondo athlete. He won a bronze medal at the age of 18 in the 54 kg (fin) class at the 2010 European Taekwondo Championships.[1][2][3][4] References ^ Taekwondo - Moti Lugasi (Israel): season totals. The-sports.org. Ret...

جامعة جورج أوغست في غوتنغن Georg-August-Universität Göttingen شعار جامعة غوتينغن الشعار (باللاتينية: In publica commoda)‏  معلومات المؤسس جورج الثاني ملك بريطانيا العظمى  التأسيس 1734 الانتماءات مبادرة الامتياز للجامعات الألمانية مجموعة قلمرية رابطة الجامعات الأوروبية شبكة يو 4 النوع جامعة...

 

634 CE conflict between the Rashidun Caliphate and Byzantine Empire Not to be confused with Battle of Basra. This article is about the battle in 634. For the battle in 1147, see Battle of Bosra (1147). For the battle in 2015, see Battle of Bosra (2015). This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this articl...

 

Process by which dense regions of molecular clouds in interstellar space collapse to form stars The W51 nebula in Aquila - one of the largest star factories in the Milky Way (August 25, 2020) Star formation is the process by which dense regions within molecular clouds in interstellar space, sometimes referred to as stellar nurseries or star-forming regions, collapse and form stars.[1] As a branch of astronomy, star formation includes the study of the interstellar medium (ISM) and gian...

Lake in the country of Kazakhstan This article is about the lake in Kazakhstan. For the lake in Kyrgyzstan, see Ala-Köl. This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (February 2014) (Learn how and when to remove this message) Alakol LakeАлакөлAlakol lakeshore panorama.Alakol LakeLocationAlmaty and East Kazakhstan Province, KazakhstanCoordinates46°10...

 

Barbie - La principessa e la poverafilm d'animazione direct-to-video La principessa Annalisa e la povera Erika in una scena del film Titolo orig.Barbie as the Princess and the Pauper Lingua orig.inglese PaeseStati Uniti d'America RegiaWilliam Lau ProduttoreJesyca C. Durchin, Jennifer Twiner McCarron SoggettoMark Twain SceneggiaturaCliff Ruby, Elana Lesser Dir. artisticaRob Jensen MusicheArnie Roth StudioMattel Entertainment, Mainframe Studios EditoreLions Gate Home Entertainme...

 

جزر العذراء الهولندية جزر العذراء الهولنديةالعلم   الأرض والسكان إحداثيات 18°26′17″N 64°43′20″W / 18.437923°N 64.722272°W / 18.437923; -64.722272   اللغة الرسمية الهولندية  الحكم التأسيس والسيادة التاريخ تاريخ التأسيس 1625  وسيط property غير متوفر. تعديل مصدري - تعديل   خريطة ا�...

Pour les articles homonymes, voir UTC et CUT. L’heure dans le monde par rapport à UTC. Le temps universel coordonné[1] ou UTC[1] (en anglais : coordinated universal time) est une échelle de temps adoptée comme base du temps civil international par la majorité des pays du globe. Description UTC est une échelle de temps comprise entre le temps atomique international (TAI), qui est stable mais déconnecté de la rotation de la Terre, et le temps universel (TU), directement lié à ...

 

38th edition of Major League Baseball's American League Championship Series This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 2007 American League Championship Series – news · newspapers · books · scholar · JSTOR (October 2007) (Learn how and when to remove this message) 2007 American League Championship Serie...

 

International protest against the Soviet invasion of Afghanistan Part of a series on1980 Summer Olympics Bid process (bid details) Boycott Development (venues, torch relay) Marketing (mascot) Broadcasters Opening ceremony (flag bearers) Chronological summary Medal table (medallists) Olympic records World records Controversies Closing ceremony (flag bearers) IOC NOC USSR (ROC) OCOG-80) vte Countries that boycotted the 1980 Games are shaded blue The 1980 Summer Olympics boycott was one part of ...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (نوفمبر 2019) الدوري السويدي الممتاز 1957–58 تفاصيل الموسم الدوري السويدي الممتاز  النسخة 34  البلد السويد  التار�...

 

American physician (1858–1932) This article is about the Protestant missionary. For the 1919 Brooklyn Robins baseball player, see Horace Allen (baseball).Horace Newton Allen2nd United States Minister to Korea In officeOctober 1, 1901 – June 9, 1905PresidentWilliam McKinley Theodore RooseveltPreceded byHimself (as Consul)Succeeded byEdwin Vernon MorganUnited States Consul General to KoreaIn officeSeptember 13, 1897 – October 1, 1901PresidentWilliam McKinleyPreceded byJo...

 

American sportscaster David LloydEducationColgate University, '83 B.S., International RelationsOccupationTV Sports AnchorTitleSportsCenter AnchorWebsiteESPN bio David Lloyd is a sportscaster for ESPN. He appeared on the Coast to Coast SportsCenter Monday through Friday with Cari Champion. Lloyd is a native of Westport, Connecticut. He has a bachelor's degree in international relations from Colgate University after graduating in 1983.[1][2] After an internship at WMAZ in Macon,...

「千葉工業大学」とは異なります。 千葉科学大学 マリーナキャンパス(2013年5月)大学設置/創立 2004年学校種別 私立設置者 学校法人加計学園本部所在地 千葉県銚子市潮見町3番地北緯35度42分24.9秒 東経140度50分33.2秒 / 北緯35.706917度 東経140.842556度 / 35.706917; 140.842556座標: 北緯35度42分24.9秒 東経140度50分33.2秒 / 北緯35.706917度 東経140.842556度...

 

2013 single album by MynameMyname 2nd SingleSingle album by MynameReleasedJanuary 25, 2013 (2013-01-25)Length13:29LanguageKoreanLabelH2 MediaMyname chronology Myname 1st Single(2012) Myname 2nd Single(2013) We Are Myname(2013) Singles from Myname 2nd Single Just That Little ThingReleased: January 25, 2013 Myname 2nd Single is the second single album by South Korean idol group Myname. It was released on January 25, 2013, by H2 Media and distributed by Kakao M. Following ...

 

Pour les articles homonymes, voir Modiano. Vidal ModianoBiographieNaissance 18 février 1888ThessaloniqueDécès 17 octobre 1971 (à 83 ans)ParisNationalité françaiseFormation Université de MontpellierActivités Médecin, chirurgienEnfant Henri ModianoAutres informationsConflit Première Guerre mondialeDistinctions Chevalier de la Légion d'honneur‎Chevalier de l'ordre de la Couronne d'Italiemodifier - modifier le code - modifier Wikidata Vidal Modiano, né le 18 février 1888[1] �...

Мартін Генріх Клапротнім. Martin Heinrich KlaprothНародився1 грудня 1743(1743-12-01)ВерніґеродеПомер1 січня 1817(1817-01-01) (73 роки)БерлінПохованняДоротеенштадтський цвинтарdКраїна Королівство ПруссіяДіяльністьхімік, фармацевт, викладач університету, мінералог, науковець, вина�...

 

Politics of Moldova Government of Moldova Constitution Human rights Neutrality Parliament President Igor Grosu Judiciary Constitutional Court Supreme Court Executive President Maia Sandu Prime Minister Dorin Recean Cabinet Recean Cabinet Administrative divisions Elections Presidential: 201620202024 Parliamentary:20192021Next Political parties Foreign relations Ministry of Foreign Affairs Minister: Mihai Popșoi Diplomatic missions of / in Moldova Nationality law Passport Visa requirements Vis...