12月22日
1.下面哪个行为被打断不会导致InterruptedException:( )? 正确答案: E 你的答案: A (错误)
Thread.join
Thread.sleep
Object.wait
CyclicBarrier.await
Thread.suspend
抛InterruptedException的代表方法有:(1)java.lang.Object 类的 wait 方法 (2) java.lang.Thread 类的 sleep 方法; (3)java.lang.Thread 类的 join 方法
CyclicBarrier是一个屏障类,它的await方法可以简单的理解为:等待多个线程同时到达之后才能继续进行,在此之前它就是这些线程的屏障,线程不能继续进行,而对于失败的同步尝试,CyclicBarrier 使用了一种要么全部要么全不 (all-or-none) 的破坏模式:如果因为中断、失败或者超时等原因,导致线程过早地离开了屏障点,那么在该屏障点等待的其他所有线程也将通过 BrokenBarrierException(如果它们几乎同时被中断,则用 interruptedException)以反常的方式离开。因此它被中断也是可以抛出interruptedException的.
suspend 方法已过时。 该方法已经遭到反对,因为它具有固有的死锁倾向。如果目标线程挂起时在保护关键系统资源的监视器上保持有锁,则在目标线程重新开始以前任何线程都不能访问该资源。如果重新开始目标线程的线程想在调用 resume 之前锁定该监视器,则会发生死锁。这类死锁通常会证明自己是“冻结”的进程。
2.下面哪一项不是加载驱动程序的方法? 正确答案: A 你的答案: C (错误)
通过DriverManager.getConnection方法加载
调用方法 Class.forName
通过添加系统的jdbc.drivers属性
通过registerDriver方法注册
分析:.总结加载驱动的三种方式:1.Class.forName(“com.mysql.cj.jdbc.Driver”); 2. DriverManager.registerDriver(new com.mysql.jdbc.Driver()); 3.System.setProperty(“jdbc.drivers”, “com.mysql.jdbc.Driver”); DriverManager.getConnection方法得到的是Connection连接对象;会先加载所需要的的驱动,才得到连接; 3. 如果Child extends Parent,那么正确的有()? 正确答案: B C D 你的答案: B C (错误)
如果Child是class,且只有一个有参数的构造函数,那么必然会调用Parent中相同参数的构造函数
如果Child是interface,那么Parent必然是interface
如果Child是interface,那么Child可以同时extends Parent1,Parent2等多个interface
如果Child是class,并且没有显示声明任何构造函数,那么此时仍然会调用Parent的构造函数
分析:A选项:可以调用父类无参的构造函数,子类的有参构造函数和是否调用父类的有参数的构造函数无必然联系。在子类中默认会执行super()调用父类的无参构造;如果直接子类没有无参构造,则需要子类显式调用所需要的构造方法; 4.关于ThreadLocal类 以下说法正确的是 正确答案: D E 你的答案: C D E (错误)
ThreadLocal继承自Thread
ThreadLocal实现了Runnable接口
ThreadLocal重要作用在于多线程间的数据共享
ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本
ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏
分析:查看API:该类提供了线程局部变量;当访问某个变量通过set或get方法时,每个线程都有自己的局部变量,它是独立于变量的初始化副本的;ThreadLocal实例通常是private static 字段的,希望将状态与某一个线程进行绑定; public class ThreadLocalextends Object; 5.面向对象程序设计方法的优点包含: 正确答案: A B C 你的答案: A B C D (错误)
可重用性
可扩展性
易于管理和维护
简单易懂 6. 下面的类哪些可以处理Unicode字符? 正确答案: A B C 你的答案: B C (错误)
InputStreamReader
BufferedReader
Writer
PipedInputStream
分析: 字节流继承于InputStream OutputStream,字符流继承于InputStreamReader OutputStreamWriter ;
|