Hi Max,
Thanx you for yours answer. I must own up I am not sure I understood you, because of my bad English.
I used Vectors so I can speak directly to your point, per page 115 and the FAQs. If I hadn't done it, I couldn't bring it up.
Page 115 says there are two types of synchronization: object and client.
Vector is an example of object synchronization and synchronizatiting the whole block /method accessing Vector is a client synchronization.
Ok, but using "client synchronization" in your particular case is enought, since only we the object (vector) is accessed from the synchronized methods.
I am not sure I really understand in English "If I hadn't done it, I couldn't bring it up." Does it mean Vector is not needed(ArrayList would be enought), but Max used Vector just to explain what is object synchronization?
As for your later point, please see here. However, in this case, it's not necessary(as you correctly surmised).
I have carefully read the topic. Synchronization and synchronization of static methods is discussed there. I couldn't find an explanation there, since no static methods have been used in DVDDatabase, but "as you correctly surmised" probably say that it is not needed in this particular case.
Max or anobody else, could you help me and confirm if I understand Max correctly or not?
Tx,
Vlad