Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    si si . ho creato una java library con netbeans e la faccio condividere ad entrambi. Ma il fatto che mi manda al manicomio e che prima di inviare l'oggetto al server, ne verifico la consistenza .. ed è tutto ok .. ma non ho capito perchè quei due campi di ClienteDB vengono trasmessi come se non fossero stati inizializzati.. e pure lo sono.. Mica c'è qualche differenza se il contenuto di alcuni campi è inizializzato col costruttore e quello di altri con il setter? la classe ClienteDB è quella che vedi.il server te l'ho postato.. e anche il metodo del client dove invio l'oggetto..

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Ahhh ... un attimo. Esiste un "cavillo" con la serializzazione che spesso chi la usa non conosce. Normalmente, cioè usando writeObject/readObject, la serializzazione usa un meccanismo di "caching" degli oggetti. Se tu scrivi un oggetto X per la prima volta usando writeObject, la serializzazione scrive materialmente tutti i valori serializzabili dell'oggetto. Se una seconda volta scrivi con writeObject lo stesso identico oggetto X, non scrive di nuovo i dati (possibilmente aggiornati) ma solo una sorta di "reference" per dire: "è lo stesso oggetto di prima".

    Se tu scrivi più volte, con la medesima istanza di ObjectOutputStream, lo stesso oggetto con writeObject, questo è il problema.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    mmmmm foorse potrebbe essere quello... allora per risolvere dovrei creare una nuova istanza dell'oggetto cliente.. o meglio clonare il precedente.. Solo che c'è un problema molti campi di ClienteDB sono dei reference effettuando una clonazione li avrei condivisi in memoria , anche le stringhe per esempio che fanno riferimento al poll di stringhe che java preserva.. come posso ovviare a questa situazione?
    Confermo che la situazione d'errore è quella che dici tu...
    Ultima modifica di linux_r; 20-05-2014 a 17:12

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da linux_r Visualizza il messaggio
    allora per risolvere dovrei creare una nuova istanza dell'oggetto cliente.. o meglio clonare il precedente.. Solo che c'è un problema molti campi di ClienteDB sono dei reference effettuando una clonazione li avrei condivisi in memoria , anche le stringhe per esempio che fanno riferimento al poll di stringhe che java preserva.. come posso ovviare a questa situazione?
    Confermo che la situazione d'errore è quella che dici tu...
    writeUnshared/readUnshared sono fatti apposta per evitare il caching degli oggetti.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    li devo usare soltanto in quel metodo ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.