牛客网Java面试题(六)

Java程序中的类名称必须与存放该类的文件名称相同

正确答案:B

解析:如果类名的修饰符为public那么文件名必须和类名相同,内部类的类名一般与文件名不同.

关于Socket通信编程,以下描述错误的是.

  1. 服务器端通过new ServerSocket()创建TCP连接对象

  2. 服务器端通过TCP连接对象调用accept()方法创建通信的Socket对象

  3. 客户端通过new Socket()方法创建通信的Socket对象

  4. 客户端通过new ServerSocket()创建TCP连接对象

正确答案:D

解析:Socket编程中藏客户端通过new Socket()创建对象.

假设如下代码中,若t1线程在t2线程启动之前已经完成启动。代码的输出是()

public static void main(String[]args)throws Exception {
    final Object obj = new Object();
    Thread t1 = new Thread() {
        public void run() {
            synchronized (obj) {
                try {
                    obj.wait();
                    System.out.println("Thread 1 wake up.");
                } catch (InterruptedException e) {
                }
            }
        }
    };
    t1.start();
    Thread.sleep(1000);//We assume thread 1 must start up within 1 sec.
    Thread t2 = new Thread() {
        public void run() {
            synchronized (obj) {
                obj.notifyAll();
                System.out.println("Thread 2 sent notify.");
            }
        }
    };
    t2.start();
}
  1. Thread 1 wake up
    Thread 2 sent notify.

  2. Thread 2 sent notify.
    Thread 1 wake up

  3. A、B皆有可能

  4. 程序无输出卡死

正确答案:B

在Java线程状态转换时,下列转换不可能发生的有()?

  1. 初始态->运行态
  2. 就绪态->运行态
  3. 阻塞态->运行态
  4. 运行态->就绪态

正确答案:AC

解析:

VIOgcF.jpg

局部内部类可以用哪些修饰符修饰?

  1. public
  2. private
  3. abstract
  4. final

正确答案:CD

解析: Java中局部内部类就像是方法里面的一个局部变量一样,不能有public,protected,private,以及static这样的修饰符的.

哪四个陈述是真的?

class A {}
class B extends A {}
class C extends A {}
class D extends B {}

A. The type List<A>is assignable to List.

B. The type List<B>is assignable to List<A>.

C. The type List<Object>is assignable to List<?>.

D. The type List<D>is assignable to List<?extends B>.

E. The type List<?extends A>is assignable to List<A>.

F The type List<Object>is assignable to any List reference.

G. The type List<?extends B>is assignable to List<?extends A>.

正确答案:ACDG

关于泛型的尖括号

1. 如果尖括号中是一个类,那么尖括号里就是一个点.
2. 如果尖括号里面带有问号,那么表示一个范围,<? extends A>表示小于等于A的范围,<? super A>表示大于等于A的范围,<?>代表全部范围.
3. List<?>和List是相等的
4. List<.>表示范围的时候表示的是最大范围

下列关于JAVA多线程的叙述正确的是()

  1. 调用start()方法和run()都可以启动一个线程
  2. CyclicBarrier和CountDownLatch都可以让一组线程等待其他线程
  3. Callable类的call()方法可以返回值和抛出异常
  4. 新建的线程调用start()方法就能立即进行运行状态

正确答案:BC

下面哪些属于JSP内置对象及方法?

  1. request
  2. out
  3. application
  4. config

正确答案:ABCD

解析:

JSP内置对象

  1. out->request.getWriter
  2. request->Service方法中的request参数
  3. response->Service方法中的response参数
  4. session->request.getSession方法
  5. application->getServletContext
  6. exception->Throable
  7. pageContext->PageContext
  8. page->this
  9. Config->getServletConfig

Java.Thread的方法resume()负责重新开始被以下哪个方法中断的线程的执行()。

  1. stop
  2. sleep
  3. wait
  4. suspend

正确答案:D

suspend方法和resume方法配合使用,suspend将线程进入阻塞状态,并且不会自动恢复,必须使用resume方法被调用才能使线程进入可执行状态.


 上一篇
SpringBoot整合MyBatis详解 SpringBoot整合MyBatis详解
SpringBoot整合MyBatis环境信息: Mysql 8.0.15 Win10 1.创建项目使用IDEA快速创建一个SpringBootWEB项目 2.添加Mybatis起步依赖 <!--mybatis起步依赖
2019-06-27
下一篇 
牛客网Java面试题(五) 牛客网Java面试题(五)
一个以“.java”为后缀的源文件 只能包含一个public类,类名必须与文件名相同 只能包含与文件名相同的public类以及其中的内部类 只能有一个与文件名相同的public类,可以包含其他非public类(不考虑内部类) 可以包含任意p
2019-06-13
  目录