Which three will compile and run without exception? (Choose three.)
A.
private synchronized Object o;
B.
void go() {
synchronized() { /* code here */ }
C.
public synchronized void go() { /* code here */ }
D.
private synchronized(this) void go() { /* code here */ }
E.
void go() {
synchronized(Object.class) { /* code here */ }
F.
void go() {
Object o = new Object();
synchronized(o) { /* code here */ }
Explanation: