Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2014
    Messaggi
    305
    Nessun motivo particolare. Mi chiedevo se era una cosa fattibile tutto qui!

  2. #2
    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
    Nessun motivo particolare. Mi chiedevo se era una cosa fattibile tutto qui!
    In generale è bene evitare che lo stesso oggetto di I/O sia usato da più wrapper. Poi per ObjectInputStream sicuramente è da evitare. Il costruttore di ObjectInputStream la prima cosa che fa è leggere l'header della serializzazione (che è una sequenza ben precisa di pochi byte). Se 2 ObjectInputStream cercano di leggerlo dallo stesso stream ...... beh, immagina tu.
    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
    ma in modo sincronizzato la cosa sarebbe fattibile?

  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
    ma in modo sincronizzato la cosa sarebbe fattibile?
    Se gli ObjectInputStream li istanzi entrambi insieme (es. prima di leggere gli oggetti), no non funziona nemmeno tirando in ballo un concetto di sincronizzazione. Il problema è innanzitutto l'header iniziale.

    Se chi scrive gli oggetti intende (per qualunque motivo) utilizzare più ObjectOutputStream sullo stesso OutputStream sottostante, tecnicamente può farlo. es.:

    codice:
     <header><oggetti.......> <header><oggetti.......>
    |  ObjectOutputStream 1  |  ObjectOutputStream 2  |

    Il punto è che dall'altra parte dovresti leggere attentamente solo il primo header+blocco di oggetti. Dovresti cioè trovare un modo per riconoscere che un oggetto è l'ultimo fornito da un ObjectOutputStream e poi dovresti usare un nuovo ObjectInputStream per "ripartire" da capo ovvero dal header e altri N oggetti.

    Questo sì, è fattibile. Ma è un pochino fumoso ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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 © 2025 vBulletin Solutions, Inc. All rights reserved.