This was Heinz Kaboutz's talk, together with Olivier Croisier, the guy who is giving the Java Specialist course in France.
They showed us how easy it was to fall in the deadlock trap. For instance, serializing a Vector containing objects with cross references can easily create a deadlock.
They then showed us how to detect a deadlock using an MXBean, and how to use it for unit testing a code that can present a deadlock. The main idea was to introduce a sleep method that does nothing in production, but once overridden in test code, allows us to run the threads in the desired order.
Finally, they showed how to break a deadlock using the forbidden Thread.stop() method.