A programozásban a zsákutca rekord ( eng. Dead Store ) egy érték hozzárendelése egy helyi változóhoz, ha ezt az értéket a következő utasítások egyike sem olvassa be. A holtpontos írások CPU-időt és memóriát foglalnak el, és nem csinálnak semmit. Statikus kódelemzéssel fedezhetők fel .
Példakód Java zsákutcás bejegyzéssel:
// DeadStoreExample.java import java.util.ArrayList ; import java.util.List ; public class DeadStoreExample { public static void main ( String [] args ) { List < String > list = new ArrayList < String > (); // Ez a hozzárendelés csonk, mivel az ArrayList soha nem kerül beolvasásra. lista = getList (); Rendszer . ki . println ( lista ) } private static List < String > getList () { return new ArrayList < String > ( "hello" ); } }Ebben a példában egy ArrayList<String> objektumot példányosítottak, de soha nem használtak. Ehelyett az arra hivatkozó változóhoz egy másik objektumra való hivatkozást rendeltek. Az ArrayList deklarálásakor lefoglalt memóriaterületet fel kell szabadítani, például a szemétgyűjtő segítségével .
Példakód zsákutcával a JavaScriptben:
függvény func ( a , b ) { var x ; var i = 300 ; míg ( i -- ) { x = a + b ; // zsákutca bejegyzés } }Ez a példa ugyanazt a helyi változót többször felülírja egy ciklusban . Míg a ciklus után csak az utolsó iterációban írt érték használható a programban . Így minden írás az x változóra, kivéve az utolsót, zsákutca.
Egy optimalizáló fordítóprogramban a zsákutca rekordok eltávolítása történhet a holt kód eltávolításának optimalizálásával [1] vagy a zsákutca rekordok eltávolításának optimalizálásával ( eng. Dead Store Elimination ) [2] .