DIFERENCIA WRITEUNSHARED Y WRITEOBJECT

tengo una duda, quisiera saber, si es posible mediante un ejemplo, cual es en sí la diferencia entre los métodos de la clase ObjectOutputStream, writeObject y writeUnshared. Gracias