浏览 2038 次
锁定老帖子 主题:SCJP认证试题(十)
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-24
/** * * @author yaoyuan */ 1 import java.util.*; 2 public class TestSet{ 3 enum Example{ONE,TWO,THREE} 4 public static void main(String[] args){ 5 Collection coll = new ArrayList(); 6 coll.add(Example.Three); 7 coll.add(Example.Three); 8 coll.add(Example.Three); 9 coll.add(Example.TWO); 10 coll.add(Example.TWO); 11 coll.add(Example.ONE); 12 Set set = new HashSet(coll); 13 } 14 } /** *Which statements is true about the set variable on line 12? * * *A The set variable contains all six elements from the coll collection, and the order is guaranteed to be preserved *B The set variable contains only three elements from the coll collection, and the order is guaranteed to be preserved *C The set variable contains all six elements from the coll collection, but the order is NOT guaranteed to be preserved *D The set variable contains only three elements from the coll collection, but the order is NOT guaranteed to be preserved */ // Answer : D /** * * @author yaoyuan */ 11 public class Person{ 12 private String name, comment; 13 private int age; 14 public Person(String n,int a, String c){ 15 name = n; age = a, comment = c; 16 } 17 public boolean equals(Object o){ 18 if(!(o instanceof Person)) return false; 19 Person p = (Person)o; 20 return age == p.age && name.equals(p.name); 21 } 22 } /** *What is the appropriated definition of the hashCode method in class Person? * * *A return super.hashCode(); *B return super.hashCode() + 7* age; *C return name.hashCode() + comment.hashCode()/2; *D return name.hashCode() + comment.hashCode()/2 - age*3; */ // Answer : B /** * * @author yaoyuan */ 1 public class Person{ 2 private String name; 3 public Person(String n){ this.name = name;} 4 public boolean equals(Person p){ 5 return p.name.equals(this.name); 6 } 7 } /** *Which statements is true? * * *A The equals method does not properly override the Object equals method *B Compilation fails because the private attribute p.name cannot be accessed in line 5 *C to work correctly with hash-based data structures, this class must also implement the hashCode method *D When adding Person objects to java.util.Set collection, the equals method in line 4 will prevent duplicates */ // Answer : A /** * * @author yaoyuan */ 1 import java.util.*; 2 public class Example{ 3 public static void main(String[] args){ 4 //insert code here 5 set.add(new Integer(1)); 6 set.add(new Integer(2)); 7 System.out.println(set); 8 } 9 } /** *Which code , inserted at line 4, guaranteed that this program will output[1,2]? * * *A Set set = new TreeSet(); *B Set set = new HashSet(); *C Set set = new SortedSet(); *D List set = new SortedList(); *E Set set = new LinkedHashSet(); */ // Answer : A /** * * @author yaoyuan */ 34 HashMap props = new HashMap(); 35 props.put("key45", "some value"); 36 props.put("key12", "some other value"); 37 props.put("key39", "yet another value"); 38 Set s = props.ketSet(); 39 //insert code here /** *What inserted at line 39, will sort the keys in the props HashMap? * *A Array.sort(s); *B s = new TreeSet(s); *C Collections.sort(s); *D s = new SortedSet(s); */ // Answer : B /** * * @author yaoyuan */ /** *Which two code fragments will execute the method doStuff() in a separate thread? * * * *A new Thread(){public void run(){doStuff();}}; *B new Thread(){public void start(){doStuff();}}; *C new Thread(){public void start(){doStuff();}}.run(); *D new Thread(){public void run(){doStuff();}}.start(); *E new Thread(new runnable(){public void run(){doStuff();}}).run(); *F new Thread(new runnable(){public void run(){doStuff();}}).start(); */ // Answer : D F /** * * @author yaoyuan */ 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 to can be results?(Choose two) * * *A java.lang.RuntimeException:Problem *B run. java.lang.RuntimeException:Problem *C End of method java.langRuntimeException:Problem *D End of method run java.langRuntimeException:Problem *E run. * java.langRuntimeException:Problem * End of method */ // Answer : D E /** * * @author yaoyuan */ public class NamedCounter{ private final String name; private int count; public NamedCounter(String name){this.name = name}; public String getName(){return name;} public void increment(){count++;} public int getCount(){return count;} public void reset(){count=0;} } /** *Which three changes should be made to adapt this class to be used safely by multiple threads?(Choose three) * * * *A declare reset() using the synchronized keyword *B declare getName() using the synchronized keyword *C declare getCount() using the synchronized keyword *D declare the constructor using the synchronized keyword *E declare increment() using the synchronized keyword */ // Answer : A C E /** * * @author yaoyuan */ 1 public class TestSeven extends Thread{ 2 private static int x; 3 public synchronized void doThings(){ 4 int current = x; 5 current++; 6 x = current; 7 } 8 public void run(){ 9 doThings(); 10 } 11 } /** *Which statements is true? * * *A Compilation fails *B An exception is thrown at runtime *C Synchronizing the run() method would make the class thread-safe *D The data in variable "x" are protected from concurrent access problems *E Declaring the doThings() method as static would make the class thread-safe *F Wrapping the statements with in doThings() in a synchronized (new Object()){} block would make the class thread-safe */ // Answer : E /** * * @author yaoyuan */ 7 void waitForSignal(){ 8 Object obj = new Object(); 9 synchronized (Thread.currentThread()){ 10 obj.wait(); 11 obj.notify(); 12 } 13 } /** *What statement is true? * * *A This code may throw an InterruptedException *B This code may throw an IllegalStateException *C This code may throw a TimeoutException after ten minutes *D This code will not compile unless "obj.wait()" is replaced with "((Thread)obj).wait()" *E A call to notify() or notifyAll() from another thread may cause this method to complete normally */ // Answer : B 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |