Transient (datorprogrammering)
I datorprogrammering är transient en egenskap hos vilket element som helst i systemet som är tillfälligt . Termen gäller transienta applikationer , dvs mjukvara för slutanvändaren som visas med en övergående applikationsställning ; transient data , som kasseras efter att det inte längre behövs av beräkningen; och transient kod som är subrutiner eller programvarukomponenter som laddas i systemet endast för en bråkdel av den totala körtiden .
Exempel på tillämpningar av termen beskrivs nedan.
Java
I programmeringsspråket Java är transient
ett nyckelord som används som fältmodifierare . När ett fält deklareras transient, skulle det inte serialiseras även om klassen som det tillhör är serialiserat. I Java kan metoder, klasser och gränssnitt inte deklareras som övergående, eftersom de aldrig serialiseras.
I Hibernate och andra beständighetssystem beskriver transient ett objekt som har instansierats, men som inte är associerat med en Hibernate-session, dvs. e. objektet finns i minnet men behålls inte.
X
I X Window System sägs ett fönster vara övergående för ett annat fönster om det tillhör det andra fönstret och kanske inte håller i det: en dialogruta, till exempel ett varningsmeddelande, är ett vanligt exempel. Detta bör inte förväxlas med ett fönster som innehåller ett annat fönster: inneslutna fönster ligger helt inom sina föräldrar, men transienter är separata fönster som i allmänhet kan flyttas fritt runt skärmen. Övergående fönster kan behandlas speciellt av fönsterhanteraren , och till skillnad från toppnivåfönster (som kan kräva användarplacering, som i twm ), får de aldrig kräva någon användarinteraktion när de visas.
Operativsystem
Transient hänvisar också till en modul som, när den väl har laddats in i huvudminnet, förväntas finnas kvar i minnet under en kort tid. Idag används termen sällan, och kan vara föråldrad. Termen Overlay används ofta istället, och syftar på en programmodul som hämtas till minnet när den behövs av det pågående programmet och sedan ersätts med en annan när den inte längre behövs, så ett program hade lägre minneskrav. Programmoduler skrevs för att tillåta olika moduler att dela samma minnesregion och huvudprogrammet självt ansvarade för att utbyta moduler mellan disk och minne vid behov.
I mitten till slutet av 1960-talet hade stordatorer, som IBM System/360 , minnesstorlekar från 8 KB till 512 KB. För att spara på minnet var transienter små moduler som stödde en specifik uppgift och byttes in och ut ur minnet. Begreppet övergående område är en del av Mythical Man-Months diskussion om design och användning av huvudminne. Operativsystemet för S/360 hade två områden reserverade för transienter som stödde in-/utgångsoperationer. Dessa kallades "det logiska övergående området" och det "fysiska övergående området". Om ett applikationsprogram till exempel behövde använda skrivaren, fördes transienter som stödde utskrift in i de transienta områdena. Om ett program behövde använda bandenheter, fördes transienter som stödde bandenhetsåtkomst till de transienta områdena. IBM 1130 från samma tid använde en del av det första 4K-minnet som ett övergående område.
På 1980-talet laddade MS-DOS om den övergående delen av COMMAND.COM mellan program eller användarkommandon.
Meddelandet passerar
På nivån för meddelandeöverföring betyder transient kommunikation det sätt på vilket meddelandena inte sparas i en buffert för att vänta på leverans till meddelandemottagaren. Meddelanden kommer endast att levereras om båda systemen (sändare och mottagare) är igång. Om mottagaren inte är igång vid sändningstiden kommer meddelandet att kasseras, eftersom det inte har lagrats i mellanbuffertar.