Cuando se produce el ClassNotFoundException en ObjectInputStream

si el fichero está vacío se produce una excepción de tipo EOFException y si contiene otra clase distinta a la que quiero leer y castear la excepción que arroja es ClassCastException, por ejemplo:

 persona = (Persona) ois.readObject(); 

Entonces en qué casos se puede lanzar la excepción ClassNotFoundException?

Gracias de antemano.

Un cordial saludo.

java. socket – ObjectInputStream

Я создаю сервер и клиента на сокете и хочу чтоб они обменивались объектами.

1. Socket clientSocket = new Socket("localhost", 4444); 2. InputStream inputStream = clientSocket.getInputStream(); 3. ObjectInputStream objectInputStream = new ObjectInputStream(inputStream); 4. ReadMsg readMsg = new ReadMsg(objectInputStream,eventControllerBlockingQueue); 

И вот зависает процесс на 3й строчке, ошибок нет, просто чего то ждет… Подскажите, чего ждет то?