面试题6

1.下面哪些是Thread类的方法(A  B  D)

A. Start()      B. run()        C. exit()        D. getPriority()

2.下面关于java.lang.Exception类的说法正确的是(A)

A. 继承自Throwable       B. Serialable

3.下列说法争取的有(C)

A. Class 中的constructor不可省略

B. Constructor必须于class同名,但方法不能与class同名

C. Constructor在一个对象被new 时执行

D. 一个class只能定义一个constructor

4.Java中,能实现多重继承效果的方式是(C )

A. 内部类

B. 适配器

C. 接口

D. 同步

5.下面程序的运行结果:(  B  )

 public static void main(String args[]) {

Thread t = new Thread() {

public void run() {

pong();

}

};

t.run();

System.out.print("ping");

}

static void pong() {

System.out.print("pong");

}  

A. pingpong

B. pongping

C. pingpongpongping都有可能

D. 都不输出

6.什么叫线程安全?什么叫线程不安全?

    线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。

线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据

 

7.try{}里面有一个return语句,那么紧跟在try后面的finally{}里面的code会不会被执行,什么时候被执行,在return前还是后?

 try-catch-finally中,如果try-finally或者catch-finally中都有return,则两个return语句都执行并且最终,  返回到调用者那里的是finally中return的值;而如果finally中没有return,则理所当然的返回的是try或者catch中return的值,但是,finally中的代码是必须要执行的,而且是在return前执行,除非碰到exit()。

 

8.异常处理。

问题1(4分)

Connection conn = null;

try{

conn = DriverManager.getConnection();

try{

1>:st.executeUpdate("update  Account  set  money=50  where

bankcard='1001'");

}catch(Exception e){

e.printStackTrace();

}

2>:st.executeUpdate("update  Account  set  money=100  where

bankcard='1002'");

}catch(Exception e){

3>:conn.rollback();

throws  new RuntimeException(e);

}

1>:行代码如果出现异常,3>:行代码是否会执行rollback

2>:行代码如果出现异常,3>:行代码是否会执行rollback

评分:以上各两分

 

问题2(3分):

int a = 0;

if(a==0){

throw new RuntimeException("a的值不能为0");

return a;

//以上两行代码有什么问题?

}

 




查看原文:http://www.coder306.cn/?p=159
posted @ 2018-03-05 10:50  两粒  阅读(90)  评论(0编辑  收藏  举报