Duvida simples sobre "Serializable"

Pessoal desculpe minha ignorancia mas eu as vezes ouso falar em objetos serializaveis que para transferencia em rede é muito mais rapido alguem poderia me dar uma explicação simples sobre o que é serializar um objeto.

Obrigado

Olá

Serializar objetos é o processo de escrever e ler objetos de modo a poder transporta-los para a memória de uma outra máquina ou para apenas guardar de memória secundária e voltar mais tarde para a memória. Somente podem passar por este processo os objetos marcados como serializáveis implementando a interface Serializable ou a interface Externalizable (serialização customizada).

É uma facilidade da linguagem e não tem nada a ver com performance, muito pelo contrário. É preciso entender direitinho o que é um objeto na memória e o que precisa ser guardado no disco para poder voltar a reconstruir este objeto. É fácil entender que precisam ser guardados todos os campos do objeto e todas as classes envolvidas na criação do objeto.

Dois exemplos péssimos de serialização:

  1. Imagine um objeto que extenda um JPanel que informações você imaginaria que são o mínimo necessário para esta reconstrução. Se conseguiu imaginar isto percebeu que seria total tolice serializar uma classe que extenda algo complexo como um objeto swing pois para reconstruir precisaria de todas as classes envolvidas no processo.

  2. Imagine uma classe com objetos estáticos, com dados sensíveis ou com valores que a toda hora mudam. Seria bobagem serializar estes dados e para isto o Java criou o modificador transient.

[]s
Luca

Saquei valeu mesmo

Luca,

Valeu mesmo pela explicação então acho que meu problema poderá ser resolvido com a serialização:

Problema: Medir o tamanho de uma requisição para dimensionar a banda:

Solução: Medir o tamanho do Request e do Response em bytes e depois somar pois bem para eu transformar o resquest e o response acho qua a melhor solução é serializar os objetos.

O que você acha ? essa solução está correta você já fez algo assim eu não sei nem por onde começar.

Valeu

Olá

Serializa e armazena no disco. O tamanho do arquivo no disco é o tanto que vai ser enviado. Como falei antes, cuidado para não serializar coisas que obrigatoriamente vai recriar do outro lado. Use transient e não serialize classes muito complexas.

Ao enviar cuidado com as opções de Accept, Accept-Charset e Accept-Encoding.

[]s
Luca