Static

di il
5 risposte

Static

Al fine di poter rendere le cose più pratiche possibili
è possibile immaginarsi un oggetto static memorizzato tipo in un file di testo,
mentre un oggetto normale memorizzato sulla memoria volatile?

5 Risposte

  • Re: Static

    Non ho capito bene la domanda.

    Se la tua è una similitudine del tipo:
    • Un oggetto "static" è un file di testo perchè si mantiene
    • Un oggetto normale è volatile perchè varia di continuo
    allora sei fuori strada.

    Volendo fare una similitudine più comprensibile:
    • Un oggetto static è come una bottiglia d'acqua sulla tavola: tutti condividono la stessa istanza (usano la stessa bottiglia)
    • Un oggetto normale è come una forchetta: tutti hanno forchette uguali, però ognuno usa la propria
  • Re: Static

    Grazie mille
    Ma dove viene allocato? -Non penso sulla ram
  • Re: Static

    Perché no?

    Ti stai confondendo... non c'è altro posto dove allocare oggetti
  • Re: Static

    C'e' un'altro termine che si usa per quello a cui stai pensando:

    ""persistente""

    Un oggetto ""persistente"" e' un oggetto che ""mantiene"" il suo stato tra ESECUZIONI DIVERSE dello stesso programma.
    Cioe':

    1) il programma parte, ""crea"" un oggetto il quale ha un certo valore
    2) il programma termina
    3) il programma RIparte, ""crea"" lo stesso oggetto di prima, il quale ha LO STESSO valore di prima.
    4) cambi il valore dell'oggetto
    5) questo, in qualche modo, viene reso ""persistente""
    6) il programma termina
    7) il programma RIparte, ""crea"" lo stesso oggetto di prima, il quale ha LO STESSO valore dell'ultima volta che e' stato cambiato.
    8 ) ...


    Ho scritto ""crea"" e non semplicemente 'crea' perche' non e' una semplice creazione, ma e' composta da varie parti:
    1) la ""creazione" dell'oggetto in memoria
    2) la ""lettura"" del suo ""stato"" da uno ""storage persistente"", che puo' essere un file o un database (che e' IMPLEMENTATO USANDO file!!!!)

    Nota: NON PENSARE a questo caso

    1) il programma parte, ""crea"" l'oggetto persistente che e' basato su un file.
    2) QUALCUN ALTRO MODIFICA il contenuto del file
    3) COME FA, il programma, a sapere che il file e' stato cambiato e che l'oggetto persistente non ha il valore corretto

    Per questo ci sono i DATABASE, il concetto di ""TRANSAZIONE"", e tutta una serie di altri concetti abbastanza complicati.
    In altri termini, per fare le cose per bene non bastano 4 righe di codice messe in croce!
  • Re: Static

    Allocare un oggetto e renderlo persistente sono cose ovviamente diverse e nulla hanno a che vedere con il fatto che sia static o no.
Devi accedere o registrarti per scrivere nel forum
5 risposte