Oi,
tenho uma dúvida em relação à keyword “final” e a criação de um objecto dentro de um synchronized. É óbvio que a classe onde ponho o código abaixo é acedido por várias threads, e não pode haver mais que uma instância do mesmo objecto.
Por exemplo:
ter:
public static final Myclass mc = new MyClass();
ou ter
private static Myclass mc = null;
public synchronized static getInstance()
{
if ( mc == null )
return mc = new Myclass();
return mc;
}
é a mesma coisa? Se sim, porquê?
Obrigado