2.18Java专项测试复盘

  • 结构型模式中最体现扩展性的模式是()
    A. 装饰模式
    B. 合成模式
    C. 桥接模式
    D. 适配器

    解析:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。
    答案:A

  • 以下描述正确的是()
    A. CallableStatement是PreparedStatement的父接口
    B. PreparedStatement是CallableStatement的父接口
    C. CallableStatement是Statement的父接口
    D. PreparedStatement是Statement的父接口

    解析:继承关系如图:

    答案:B

  • 在开发中使用泛型取代非泛型的数据类型(比如用ArrayList取代ArrayList),程序的运行时性能会变得更好。()
    A. 正确
    B. 错误

    解析:在编译阶段,虚拟机就会把泛型的类型擦除,还原成没有泛型的代码,顶多编译速度稍微慢一些,执行速度是完全没有什么区别的.
    答案:B

  • 对文件名为Test.java的java代码描述正确的是()
      class Person {
          String name = "No name";
          public Person(String nm) {
              name = nm;
          }
      }
      class Employee extends Person {
          String empID = "0000";
          public Employee(String id) {
              empID = id;
          }
      }
      public class Test {
          public static void main(String args[]) {
              Employee e = new Employee("123");
              System.out.println(e.empID);
          }
      }

    A. 输出:0000
    B. 输出:123
    C. 编译报错
    D. 输出:No name

    解析:父类没有无参的构造函数,所以子类需要在自己的构造函数中显式调用父类的构造函数,添加super("nm");否则报错。
    答案:C

  • 关于ThreadLocal类 以下说法正确的是
    A. ThreadLocal继承自Thread
    B. ThreadLocal实现了Runnable接口
    C. ThreadLocal重要作用在于多线程间的数据共享
    D. ThreadLocal是采用哈希表的方式来为每个线程都提供一个变量的副本
    E. ThreadLocal保证各个线程间数据安全,每个线程的数据不会被另外线程访问和破坏

    解析:ThreadLocal并没有继承自Thread,也没有实现Runnable接口。所以AB都不对。ThreadLocal类为每一个线程都维护了自己独有的变量拷贝。每个线程都拥有了自己独立的一个变量。所以ThreadLocal重要作用并不在于多线程间的数据共享,而是数据的独立,C选项错。
    答案:DE

  • 以下JAVA程序的运行结果是什么( )
      public static void main(String[] args) {
          Object o1 = true ? new Integer(1) : new Double(2.0);
          Object o2;
          if (true) {
              o2 = new Integer(1);
          } else {
              o2 = new Double(2.0);
          }
          System.out.print(o1);
          System.out.print(" ");
          System.out.print(o2);
      }

    A. 1 1
    B. 1.0 1.0
    C. 1 1.0
    D. 1.0 1

    解析:三元操作符如果遇到可以转换为数字的类型,会做自动类型提升。若两个操作数都是直接量数字,则返回值类型为范围较大者
    答案:D

  • 下列关于Java并发的说法中正确的是()
    A. CopyOnWriteArrayList适用于写多读少的并发场景
    B. ReadWriteLock适用于读多写少的并发场景
    C. ConcurrentHashMap的写操作不需要加锁,读操作需要加锁
    D. 只要在定义int类型的成员变量i的时候加上volatile关键字,那么多线程并发执行i++这样的操作的时候就是线程安全的了

    解析:A,CopyOnWriteArrayList适用于写少读多的并发场景
    B,ReadWriteLock即为读写锁,他要求写与写之间互斥,读与写之间互斥,读与读之间可以并发执行。在读多写少的情况下可以提高效率
    C,ConcurrentHashMap是同步的HashMap,读写都加锁
    D,volatile只保证多线程操作的可见性,不保证原子性

    答案:B

  • 下列哪个说法是正确的()
    A. ConcurrentHashMap使用synchronized关键字保证线程安全
    B. HashMap实现了Collction接口
    C. Array.asList方法返回java.util.ArrayList对象
    D. SimpleDateFormat是线程不安全的

    解析:ConcurrentHashMap 使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。C中,应该是Arrays.asList(),其将一个数组转化为一个List对象,这个方法返回一个ArrayList类型的对象, 这个ArrayList类并非java.util.ArrayList类,而是Arrays类的内部类:java.util.Arrays.ArrayList
    答案: D

  • URL u =new URL("http://www.123.com");。如果www.123.com不存在,则返回______。
    A. http://www.123.com
    B. ””
    C. null
    D. 抛出异常

    解析:new URL()时必须捕获检查异常,但这个异常是由于字符串格式和URL不符导致的,这个异常属于IOException,与网址是否存在无关。URL的toString方法返回字符串,无论网址是否存在。
    答案:A

  • 已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )
    A. args[0] = "MyTest a b c"
    B. args[0] = "MyTest"
    C. args[0] = "a"
    D. args[1]= "b"

    解析:对于java命令,类名后面跟着的就是main函数的参数,多个参数则用空格隔开。 main方法的形参是一个string数组所以对于java mytest a b c传入的参数算是一个string数组。 即args[0]=a args[1]=b args[2]=c
    答案:CD

  • Given the following code:
      import EnclosingOne.InsideOne
      class Enclosingone
      {
          public class InsideOne {}
    
      }
      public class inertest
      {
         public static void main(string[]args)
          {
              EnclosingOne eo = new EnclosingOne();
              //insert code here
          }
      }

    A. InsideOne ei=eo.new InsideOne();
    B. eo.InsideOne ei=eo.new InsideOne();
    C. InsideOne ei=EnclosingOne.new InsideOne();
    D. EnclosingOne.InsideOne ei=eo.new InsideOne();

    解析:因为import EnclosingOne.InsideOne,所以A正确。内部类其实和类的属性没什么区别,只是在声明的时候必须是Outer.Inner a,所以D正确。
    答案:AD

原文地址:https://www.cnblogs.com/l999q/p/12325509.html

时间: 2024-10-09 16:01:03

2.18Java专项测试复盘的相关文章

2.12Java专项测试复盘

以下哪个接口的定义是正确的?( ) A. interface B { void print() { } ;} B. interface B { static void print() ;} C. abstract interface B extends A1, A2 //A1.A2为已定义的接口 { abstract void print(){ };} D. interface B { void print();} 解析:接口中方法的默认修饰符时public abstract,抽象方法可是没有方

2.14Java专项测试复盘

在 main() 方法中给出的整型数组,如果将其写到一个文件中,需要( ). A. System.out.print (buffer[i]); B. DataOutputStream dout = new DataOutputStream(new FileOutputStream(this.filename)); C. DataInputStream din = new DataInputStream(new FileInputStream(this.filename));. D. System

2.16Java专项测试复盘

运行代码,输出的结果是() public class P { public static int abc = 123; static{ System.out.println("P is init"); } } public class S extends P { static{ System.out.println("S is init"); } } public class Test { public static void main(String[] args)

2.20专项测试复盘

对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理. A. 正确 B. 错误 解析:运行异常,可以通过java虚拟机来自行处理.非运行异常,我们应该捕获或者抛出. 答案:B 下面哪些类可以被继承? Java.lang.Thread.java.lang.Number.java.lang.Double.java.lang.Math. java.lang.ClassLoader A. Thread B. Number C. Double D. Math E. ClassLoader

2.21专项测试复盘

以下哪几种方式可用来实现线程间通知和唤醒:( ) A. Object.wait/notify/notifyAll B. ReentrantLock.wait/notify/notifyAll C. Condition.await/signal/signalAll D. Thread.wait/notify/notifyAll 解析:Condition是在java 1.5中才出现的,它用来替代传统的Object的wait().notify()实现线程间的协作,相比使用Object的wait().n

2.23专项测试复盘

将关键字序列50,40,95,20,15,70,60,45,80调整成一个小根堆,堆结构是15,20,60,45,40,70,95,50,80(). 解析:创建堆的基本思想:先把无序的关键字按顺序构造成完全二叉树,从最后一个分支节点开始往前,不断地利用筛选算法,将一棵棵子树调整为一个堆(让根与其左右子节点比,将他们三个最小的值选出来作为根,反复交换使所有结点满足小根),一直进行到完全二叉树的根节点为止. 答案:√ 设某强连通图中有 n 个顶点,则该强连通图中最小的边数为n,最大边数为n(n-1)

2.24专项测试复盘

以下与数据的存储结构无关的术语是() A. 循环队列 B. 链表 C. 哈希表 D. 栈 解析:存储结构是数据的逻辑结构用计算机语言的实现,常见的存储结构有: 顺序存储 , 链式存储 , 索引存储 ,以及 散列存储 .其中散列所形成的存储结构叫 散列表(又叫哈希表) ,因此哈希表也是一种存储结构.栈只是一种抽象数据类型,是一种逻辑结构,栈逻辑结构对应的顺序存储结构为顺序栈,对应的链式存储结构为链栈,循环队列是顺序存储结构,链表是线性表的链式存储结构 答案:D 下面的一些说法哪些是正确的:( )

【金阳光测试】KK公益讲座第63期-5月30号(周六晚八点) 分享主题: IOS专项测试基础

[金阳光测试]KK公益讲座第63期-5月30号(周六晚八点)分享主题: IOS专项测试基础听课地点:http://www.chuanke.com/1983382-110713.html主讲:小白老师老师简介:前风行网.腾讯测试,现为一流互联网公司任职高级开发测试时间:5月30号 晚上8点开始

Android性能专项测试测试点指导(二)

Android性能专项测试测试点指导(一) 上一篇文章通过导图的方式介绍了性能专项的几个测试点,那么今天将会详细阐述下. 内存: 内存泄漏: 老生常谈的最多就是这货,这家伙的测试方法其实是最简单也是最难的,为什么简单,因为你要定位到路径,只需要重复操作即可,比如你怀疑播放器泄漏了,重复进入退出N次,那么就可以确定是播放器出问题了,可以提单了:说难,你需要进一步分析到底是哪里泄漏了,通过MAT工具去对比,去分析定位到类,那就需要精力和时间了,通常还吃力不讨好-最近,出现了这样一个工具LeakCan