Modificadores

6 respostas
elvishr

Alguém poderia me explicar e exemplificar o uso dos modificadores:

transient e volatile

obrigado…

6 Respostas

Daniel_Quirino_Olive

Transient serve para marcar um membro de uma classe como non-serializable. Algo como:

public class User implements java.io.Serializable{

    private int id;
    private String name;

    private transient int foo;

    // ...
}

Ao se tentar serializar uma instância desta classe, o valor do membro “foo” não vai ser serializado. :slight_smile:

Volatile, se não estiver enganado (SCJPs de plantão, ajudem-me), serve para marcar que o valor de uma variável pode ser mudado pelo uso de threads. Se duas ou mais threads acessam um membro de uma classe e mais de uma thread pode alterar o valor da variável (considerando, ainda, que estas threads não usem métodos de leitura/escrita sincronizados), então esta variável-membro DEVE (ou deveria?!) ser declarada VOLATILE para assegurar que todas as threads tenham valores destas variável atualizados. No entanto, é bom avisar que a nem todas as VMs implementam as funcionalidades da palavra-reservada volatile, por questão de preguiça :slight_smile: .

elvishr

ok, obrigado :slight_smile:

marciolx

para o exame você só precisa saber que transient e volatile só se aplicam à variáveis e não à classes e métodos.

own_prison

O que seria ?[list]…serializar uma instância desta classe…[/list]
o que é Serializar…

Daniel_Quirino_Olive

“own_prison”:
O que seria ?[list]…serializar uma instância desta classe…[/list]
o que é Serializar…

É o processo de pegar uma instância qualquer de uma classe e obter uma cadeia de bytes que o represente.

own_prison

Paguei o maior mico… naum tinha ligado o nome a coisa… aki onde trabalho existe umas imagens serializadas… num repositório kaulker… só que eu naum sabia que isso era serializar… sei lá… bobeiras que ocorrem no dia a dia… inté…

Criado 3 de novembro de 2003
Ultima resposta 14 de nov. de 2003
Respostas 6
Participantes 4