java笔试面试小题(2)

java笔试面试小题

【来源: 牛客网



1、下列选项输出什么(C

public static void main(String[] args) {
    
    
Thread t = new Thread() {
    
    
 
public void run() {
    
    
my360DW();
}
};
 
t.run();
System.out.print("DW");
 
}
 
static void my360DW() {
    
    
 
System.out.print("360");
 
}
  • A、 DW
  • B、 360
  • C、 360DW
  • D、 都不输出

解析如下:
在这里插入图片描述

2、下列说法正确的是(AB)?

  • A、 对于局部内部类,只有在方法的局部变量被标记为final或局部变量是effctively final的,内部类才能使用它们
  • B、 成员内部类位于外部类内部,可以直接调用外部类的所有方法(静态方法和非静态方法)
  • C 、由于匿名内部类只能用在方法内部,所以匿名内部类的用法与局部内部类是一致的
  • D、静态内部类可以访问外部类的成员变量

解析如下:
在这里插入图片描述

在这里插入图片描述

3、以下哪几种方式可用来实现线程间通知和唤醒:( AC)

  • A、Object.wait/notify/notifyAll
  • B、ReentrantLock.wait/notify/notifyAll
  • C、Condition.await/signal/signalAll
  • D、Thread.wait/notify/notifyAll

解析如下:

wait()、notify()和notifyAll()是 Object类中的方法
从这三个方法的文字描述可以知道以下几点信息:
   1)wait()、notify()和notifyAll()方法是本地方法,并且为final方法,无法被重写。
   2)调用某个对象的wait()方法能让当前线程阻塞,并且当前线程必须拥有此对象的monitor(即锁)
   3)调用某个对象的notify()方法能够唤醒一个正在等待这个对象的monitor的线程,如果有多个线程都在等待这个对象的monitor,则只能唤醒其中一个线程;
   4)调用notifyAll()方法能够唤醒所有正在等待这个对象的monitor的线程;

Condition是在java 1.5中才出现的,它用来替代传统的Object的wait()、notify()实现线程间的协作,相比使用Object的wait()、notify(),使用Condition1的await()、signal()这种方式实现线程间协作更加安全和高效。因此通常来说比较推荐使用Condition,在阻塞队列那一篇博文中就讲述到了,阻塞队列实际上是使用了Condition来模拟线程间协作。
     Condition是个接口,基本的方法就是await()和signal()方法;
     Condition依赖于Lock接口,生成一个Condition的基本代码是lock.newCondition()
调用Condition的await()和signal()方法,都必须在lock保护之内,就是说必须在lock.lock()和lock.unlock之间才可以使用Conditon中的await()对应Object的wait(); Condition中的signal()对应Object的notify(); Condition中的signalAll()对应Object的notifyAll()

4、以下关于 abstract 关键字的说法,正确的是(D

  • A、abstract 可以与final 并列修饰同一个类。
  • B、abstract 类中不可以有private的成员。
  • C、abstract 类中必须全部是abstract方法。
  • D、abstract 方法必须在abstract类或接口中。

解析如下:
在这里插入图片描述

5、下面的方法,当输入为2的时候返回值是多少(D)?

public static int getValue(int i) {
    
    
int result = 0;
switch (i) {
    
    
case 1:
result = result + i;
case 2:
result = result + i * 2;
case 3:
result = result + i * 3;
}
return result;
}
  • A、0
  • B、2
  • C、4
  • D、10

解析如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41209886/article/details/108793021