JAVA基础水平考试

想知道本身的Java水平吗?这里有一份精心准备的测试题,只有10道题,但难度不低。
答对 4 题,说明你刚入门;
答对 6 题,说明还不错;
答对 8 题,说明你基础很好;
答对 10 题,说明你对Java很是熟悉。java

1 (单选)下列代码的输出是什么?

final char a = 'A', d = 'D';
   char grade = 'B';

   switch(grade) {
     case a:
     case 'B': System.out.print("great");
     case 'C': System.out.print("good"); break;
     case d:
     case 'F': System.out.print("not good");
   }

A.great
B.greatgood
C.greatnot good
D.not good
E.good程序员

2 (单选)下列代码会依次输出:

Integer num1 = 10;
Integer num2 = 10;
Integer num3 = 500;
Integer num4 = 500;

System.out.println(num1 == num2);
System.out.println(num3 == num4); 

A.true false
B.false true
C.true true
D.false falseweb

3 (单选)下列代码的输出是什么?

 public class DataModel {
       static {
           x = 15;
       }

       static int x = 0;

       public DataModel() {
           x = 5;
       }

       static {
           x = 10;
       }

       public static void main(String[] args) {
           DataModel dataModel = new DataModel();
           System.out.println(x);
       }

   }

A.0
B.5
C.10
D.15数据库

4 (单选)下列说法不正确的是:

A.CountDownLatch容许一个或多个线程等待其余线程完成操做服务器

B.CyclicBarrier可以让一组线程互相等待,直到最后一个线程到达屏障时,全部被屏障拦截的线程才会继续运行微信

C.CountDownLatchCyclicBarrier中的计数器都可经过reset()重置循环利用架构

D.Semaphore能够用来控制同时访问某个 特定资源的线程数量并发

5 (单选)下列说法不正确的是:

A.JDK动态代理需实现InvocationHandler,对代理对象方法的调用,会分派到其 invoke 方法真正实现调用app

B. JDK动态代理经过 Proxy 类,调用其 newProxyInstance 方法,生成一个实现了相应基础接口的代理类实例运维

C.cglib是一个高性能的代码生成库,cglib实现动态代理对象与JDK动态代理模式同样都要求对象实现接口

D.cglib实现动态代理是为了解决接口依赖的代理问题,采起的是建立目标类子类的方式

6 (单选)下列说法不正确的是:

A.wait方法属于Object方法,而sleep()方法属于Thread类方法

B.wait方法便可以有参数传入也可无参数传入,sleep方法必须有参数传入

C.不管是wait方法仍是sleep方法均须要考虑对InterruptedException的异常处理

D.不管是调用sleep方法仍是wait方法的时候,对象的锁将释放,其余任务能够得到这个锁

7 (多选)下列说法正确的是:

A. volatilesynchronized均可以修饰变量,方法以及方法块

B.对一个volatile变量的写操做happen-before于后续对于这个volatile变量的读操做

C.volatilesynchronized机制都可确保变量在多个线程之间的可见性和原子性,但volatile是更轻量级的同步机制

D.volatile只能确保可见性,加锁机制便可以确保可见性又能够确保原子性

8 (多选)关于类加载器ClassLoader(Java 9之前版本),下列说法正确的是:

A.启动类加载器(Bootstrap ClassLoader):用来加载 jre/lib下面的jar包,如rt.jar

B. 扩展类加载器(Extensions ClassLoader):用来加载 jre/lib/ext/下的 jar包

C.应用类加载器(Application ClassLoader):用来根据 Java 应用的类路径(CLASSPATH)来加载 Java 类

D.因为父加载器的类型对于子加载器可见,因此j父加载器加载过的类型不会在子类加载器中重复加载

9 (多选)下列说法正确的是:

A. TCP重传机制会致使HTTP服务端收到重复的报文

B.TCP协议提供可靠的链接服务,采用三次握手创建一个链接,而终止一个链接须要四次挥手

C.在TCP链接创建过程当中,服务器端经过建立socket,bind,listen完成链接准备工做,经过调用accept等待链接的创建。客户端经过建立socket,调用connect发起链接创建请求

D.只有主动发起关闭 TCP 链接的一方才会进入TIME_WAIT状态

10 (多选)执行下列代码,选出全部可能被打印出的选项:

public class MyClass {
  public String name;
  public void execute() {
    System.out.print("1");
    try {
      System.out.print("2");
         name.toString();
         System.out.print("3");
    } catch (NullPointerException e) {
      System.out.print("4");
      throw e;
    }
     System.out.print("5");
   }
   public static void main(String[] args) {
     MyClass myClass = new MyClass();
    myClass.execute();
     System.out.print("6");

    } 
}

A.1
B.2
C.3
D.4
E.5
F.6
G.NullPointerException stack trace


End




干货分享



这里为你们准备了一份小小的礼物,关注公众号,输入以下代码,便可得到百度网盘地址,无套路领取!

001:《程序员必读书籍》
002:《从无到有搭建中小型互联网公司后台服务架构与运维架构》
003:《互联网企业高并发解决方案》
004:《互联网架构教学视频》
006:《SpringBoot实现点餐系统》
007:《SpringSecurity实战视频》
008:《Hadoop实战教学视频》
009:《腾讯2019Techo开发者大会PPT》

010: 微信交流群






近期热文top



一、关于JWT Token 自动续期的解决方案

二、SpringBoot开发秘籍-事件异步处理

三、架构师之路-服务器硬件扫盲

四、基于Prometheus和Grafana的监控平台 - 环境搭建

五、RocketMQ进阶 - 事务消息



我就知道你“在看”





本文分享自微信公众号 - JAVA日知录(javadaily)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索