Java日常刷题第九天

1.java7后关键字 switch 支不支持字符串作为条件:(错)
解析:在Java7之前,Switch支持的条件类型: byte,short,chart,int,enum以及基本类型的封装类,在Java7之后,开始支持字符串类型。
2.队列(Queue)是先进先出的。(对)
3.This调用语句必须是构造函数中的第一个可执行语句。(错)
解析:this()才必须是构造函数中的第一个可执行语句,用this调用语句并不需要。

  1. 构造器中第一行默认是super(),一旦直接父类的构造器中没有无参的,那么必须显式调用父类的某个有参构造。
  2. 构造器中第一行的super()可以换成this(),但是this()和super()只能出现一个。
  3. super,this关键字与super(),this()不是一回事,前者表示当前调用者的父类与其本身,后者是为了构造器相互调用。

4。以下多线程对int型变量x的操作,哪个不需要进行同步(D)
A.++x
B.x=y
C.x++
D.x=1
解析:同步是害怕在操作过程的时候被其他线程也进行读取操作,一旦是原子性的操作就不会发生这种情况。
因为一步到位的操作,其他线程不可能在中间干涉。另外三项都有读取、操作两个步骤,而X=1则是原子性操作。
5.JDK中提供的java、javac、jar等开发工具也是用Java编写的。(对)
解析:java只有jvm是c和汇编写的,其他是java写的
6.在类设计中,类的成员变量要求仅仅能够被同一package下的类访问,请问应该使用下列哪个修饰词(D)
A.protected
B.public
C.private
D.不需要任何修饰
解析:
在这里插入图片描述
7.下面那些情况可以终止当前线程的运行?(B)
A.当一个优先级高的线程进入就绪状态时
B.抛出一个异常时
C.当该线程调用sleep()方法时
D.当创建一个新线程时
解析:线程结束的三个原因:
1、run方法执行完成,线程正常结束
2、线程抛出一个未捕获的Exception或者Error
3、直接调用该线程的Stop方法结束线程(不建议使用,容易导致死锁)
理解“终止当前线程的运行”和“线程的阻塞”和“线程就绪”
A 如果调度方式是抢占式,则当前进程会重新就绪等待调度;如果不是抢占式,则不理会优先级高的进程。
C sleep之后,当前进程处于阻塞状态,等待阻塞结束重新进入就绪状态
D 不影响当前线程,
B 抛出例外,当前线程异常结束
8.以下java程序代码,执行后的结果是(B)

public class Test {
    public static void main(String[] args) {   
        Object o = new Object() {  
             public boolean equals(Object obj) {  
                 return true; 
         }
     };   
     System.out.println(o.equals("Fred"));
     }
}

A.Fred
B.true
C.编译错误
D.运行时抛出异常
解析:使用了匿名内部类创建了一个类,这个类重写了equals方法,使这个方法无论传入什么对象都返回true
9.关于 Socket 通信编程,以下描述正确的是:(C )
A.客户端通过new ServerSocket()创建TCP连接对象
B.客户端通过TCP连接对象调用accept()方法创建通信的Socket对象
C.客户端通过new Socket()方法创建通信的Socket对象
D.服务器端通过new ServerSocket()创建通信的Socket对象
解析:客户端通过new Socket()方法创建通信的Socket对象
服务器端通过new ServerSocket()创建TCP连接对象
accept接纳客户端请求
10.ServletConfig接口默认是哪里实现的?(B)
A.Servlet
B.GenericServlet
C.HttpServlet
D.用户自定义servlet
解析:在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yangyuCISCO/article/details/83277206