Saturday, September 10, 2011

SCJP 1.6 Dumps-Questions

QUESTION: 1
Given:
1. public class Threads2 implements Runnable {
2.
3. public void run() {
4.  System.out.println("run.");
5. throw new RuntimeException("Problem");
6. }
7. public static void main(String[] args) {
8. Thread t = new Thread(new Threads2());
9. t.start();
10. System.out.println("End of method.");
11. }
12. }
Which two can be results? (Choose two.)
A.  java.lang.RuntimeException: Problem
B. run.
java.lang.RuntimeException:  Problem
C. End of method.
java.lang.RuntimeException:  Problem
D. End of method.
run.
java.lang.RuntimeException:  Problem
E. run.
java.lang.RuntimeException:  Problem
End of method.

Answer: D, E

QUESTION: 2
Which two statements are true? (Choose two.)
A. It is possible for more than two threads to deadlock at once.
B. The JVM implementation guarantees that multiple threads cannot enter into a
deadlocked state.
C. Deadlocked threads release once their sleep() method's sleep duration has expired.
D. Deadlocking can occur only when the wait(), notify(), and notifyAll() methods are
used incorrectly.
E. It is possible for a single-threaded application to deadlock if synchronized blocks are
used incorrectly.
F. If a piece of code is capable of deadlocking, you cannot eliminate the possibility of
deadlocking by inserting
invocations of Thread.yield().

Answer: A, F


QUESTION: 3
Given:
7. void waitForSignal() {
8. Object obj = new Object();
9. synchronized (Thread.currentThread()) {
10. obj.wait();
11. obj.notify();
12. }
13. }
Which statement is true?
A. This code can throw an InterruptedException.
B. This code can throw an IllegalMonitorStateException.
C. This code can throw a TimeoutException after ten minutes.
D. Reversing the order of obj.wait() and obj.notify() might cause this method to complete
normally.
E. A call to notify() or notifyAll() from another thread might cause this method to
complete normally.
F. This code does NOT compile unless "obj.wait()" is replaced with "((Thread)
obj).wait()".