阿摩線上測驗
登入
首頁
>
OJCP(SCJP)
>
104年 - SCJP 201-244#99410
>
217.
Place the code into the GenericB class definition to make the class compile successfully.
其他申論題
(2)這一題的試題品質如何?
#415646
201. Given:1. import java.util.*; 2. class A{} 3. class B extends A{} 4. public class Test{ 5. public static void main(Strang[] args){ 6. List<A> listA = new LinkedList<A>(); 7. List<B> listB = new LinkedList<B>(); 8. List<Obect> listO = new LinkedList<Obect>(); 9. //insert code here 10. } 11. public static void m1(List<? extends A> list){} 12. public static void m2(List<A> list){} Place a result onto each method call to indicate what would happen if the method call were inserted at line 9. Note: Results can be used more than once.
#415647
202. Given: NumberNames nn = new NumberNames(); nn.put("one", 1); System.out.println(nn.getNames()); Place the code into position to create a class that maps from Strings to integer values. The result of execution must be [one]. Some options may be used more than once. public class NumberNames{ private HashMap< Place here , Place here > map = new HashMap< Place here , Place here Place here ;
#415648
216. Given: 1. import java.util.*, 2. public class TestGenericConversion{ 3. public static void main(String[] args){ 4. List list = new LinkedList(); 5. list.add("one"); 6. list.add("two"); 7. System.out.print(((String)list.get(O)).length()); 8. } 9. } Refactor this class to use generics without changing the code's behavior.
#415649
218. Place the code elements in position so that the Flags2 class will compile and make appropriate use of the wait/notify mechanism. Note You may reuse code elements.
#415651
220. Which factor or factors (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().
#415652
225. Given: 10. Runnable r = new Runnable(){ 11. public void run(){ 12. try{ 13. Thread.sleep(1000); 14. }catch(InterruptedException e){ 15. System.out.println("interrupted"); 16. } 17. System.out.println("ran"); 18. } 19. }; 20. Thread t = new Thread(r); 21. t.start(); 22. System.out.println("started"); 23. t.sleep(2000): 24. System.out.println("interrupting"); 25. t.interrupt(); 26. System.out.println("ended"); Assume that sleep(n) executes in exactly n milliseconds. and all other code executes in an insignificant amount of time. Place the fragments in the output area to show the result of running this code.
#415653
228. Which three will compile and run without exception? (Choose three.) (A) private synchronized Object o; (B)(C) public synchronized void go(){/* code here */} (D) private synchronized(this) void go(){/* code here */} (E) (F)
#415654
236. Given: 1. class Computation extends Thread{ 2. 3. private int num; 4. private boolean isComplete; 5. private int result; 6. 7. public Computation(int num){this.num = num;} 8. 9. public synchronized void run(){ 10. result = num * 2; 11. isComplete = true; 12. notify(); 13. } 14. 15. public synchronized int getResult(){ 16. while(!isComplete){ 17. try{ 18. wait(); 19. }catch(InterruptedException e){} 20. } 21. return result; 22. } 23. 24.public static void main(String[] args){ 25. Computation[] computations = new Computation[4]; 26. for(int i=0; i<computations.length; i++){ 27. computations[i] = new Computation(i); 28. computations[i].start(); 29. } 30. for(Computation c : computations) 31. System.out.print(c.getResult() + " "); 32. } 33. } What is the result? (A) The code will deadlock. (B) The code may run with no output. (C) An exception is thrown at runtime. (D) The code may run with output "0 6". (E) The code may run with output "2 0 6 4". (F) The code may run with output "0 2 4 6".
#415655
237. Place the code elements into the class so that the code compiles and prints "Run. Run. doIt. " in exactly that order. Note that there may be more than one correct solution.
#415656