VisualVM is able to detect deadlocks: Get deadlock detection from running programm or dump in Java
Is VisualVM able to detect livelocks? If cannot do it automatically which actions possible to help to reveal livelocks?
No, it cannot, because threads are doing something and it's impossible to detect if it's something useful or just moving back and forth