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.in.read(buffer)。

    解析:input和output指的是对于程序而言。input是从文件读取进来,output是输出到文件。
    答案:B

  • 下列哪个选项是正确计算42度(角度)的余弦值?
    A. double d=Math.cos(42)
    B. double d=Math.cosine(42)
    C. double d=Math.cos(Math.toRadians(42))
    D. double d=Math.cos(Math.toDegrees(42))

    解析:计算余弦值使用Math类的cos()方法
    toRadians()是将角度转换为弧度
    toDegrees()是将弧度转换为角度

    答案:C

  • @SuppressWarnings(“deprecation”)的功能是什么?
    A. 屏蔽不赞同使用的类和方法的警告
    B. 屏蔽在强制类型转换的时候编译器给出的警告
    C. 关闭所有警告信息
    D. 当在可序列化的类上缺少serialVersionUID定义的警告

    解析:
    Override 注解
    指明被注解的方法需要覆写超类中的方法.
    如果某个方法使用了该注解,却没有覆写超类中的方法(比如大小写写错了,或者参数错了,或者是子类自己定义的方法),编译器就会生成一个错误.
    Deprecated 注解
    可以修饰类、方法、变量,在java源码中被@Deprecated修饰的类、方法、变量等表示不建议使用的,可能会出现错误的,可能以后会被删除的类、方法等,如果现在使用,则在以后使用了这些类、方法的程序在更新新的JDK、jar包等就会出错,不再提供支持。 个人程序中的类、方法、变量用@Deprecated修饰同样是不希望自己和别人在以后的时间再次使用此类、方法。 当编译器编译时遇到了使用@Deprecated修饰的类、方法、变量时会提示相应的警告信息。
    Suppresswarnings 注解
    可以达到抑制编译器编译时产生警告的目的,但是很不建议使用@SuppressWarnings注解,使用此注解,编码人员看不到编译时编译器提示的相应的警告,不能选择更好、更新的类、方法或者不能编写更规范的编码。同时后期更新JDK、jar包等源码时,使用@SuppressWarnings注解的代码可能受新的JDK、jar包代码的支持,出现错误,仍然需要修改。 里面的deprecation修饰符则是对java中已经过时或者废弃方法的警告。

    答案:A

  • 下列说法错误的有( )
    A. 能被java.exe成功运行的java class文件必须有main()方法
    B. J2SDK就是Java API
    C. Appletviewer.exe可利用jar选项运行.jar文件
    D. 能被Appletviewer成功运行的java class文件必须有main()方法

    解析:
    B选项中J2SDK是编程工具,不是API.
    C选项中 Appletviewer.exe 就是用来解释执行java applet应用程序的,简单理解就是没有main函数的继承applet类的java类。
    D选项中 能被Appletviewer成功运行的java class文件没有main()方法

    答案:BCD

  • 下列哪些操作会使线程释放锁资源?
    A. sleep()
    B. wait()
    C. join()
    D. yield()

    解析:所谓的释放锁资源实际是通知对象内置的monitor对象进行释放,而只有所有对象都有内置的monitor对象才能实现任何对象的锁资源都可以释放。又因为所有类都继承自Object,所以wait()就成了Object方法,也就是通过wait()来通知对象内置的monitor对象释放,而且事实上因为这涉及对硬件底层的操作,所以wait()方法是native方法,底层是用C写的。
    其他都是Thread所有,所以其他3个是没有资格释放资源的
    而join()有资格释放资源其实是通过调用wait()来实现的

    答案:BC

  • Java的体系结构包含( )。
    A. Java编程语言
    B. Java类文件格式
    C. Java API
    D. JVM

    解析:ava体系结构包括四个独立但相关的技术:
    Java程序设计语言
    Java.class文件格式
    Java应用编程接口(API)
    Java虚拟机
    我们再在看一下它们四者的关系:
    当我们编写并运行一个Java程序时,就同时运用了这四种技术,用Java程序设计语言编写源代码,把它编译成Java.class文件格式,然后再在Java虚拟机中运行class文件。当程序运行的时候,它通过调用class文件实现了Java API的方法来满足程序的Java API调用

  • java运行时内存分为“线程共享”和“线程私有”两部分,以下哪些属于“线程共享”部分
    A. 程序计算器
    B. 方法区
    C. java虚拟机栈
    D. java堆

    解析:私有:java虚拟机栈,程序计数器,本地方法栈
    共享:java堆,方法区

    答案:BD

  • 判断一块内存空间是否符合垃圾收集器收集的标准有哪些?
    A. 给对象赋予了空值null,以下再没有调用过
    B. 对象重新分配了内存空间
    C. 给对象赋予了空值null
    D. 给对象赋予了新值

    解析:在java语言中,判断一块内存空间是否符合垃圾收集器收集标准的标准只有两个:
    1.给对象赋值为null,以下没有调用过。
    2.给对象赋了新的值,重新分配了内存空间。

    答案:ABD

  • 下面有关java threadlocal说法正确的有?
    A. ThreadLocal存放的值是线程封闭,线程间互斥的,主要用于线程内共享一些数据,避免通过参数来传递
    B. 线程的角度看,每个线程都保持一个对其线程局部变量副本的隐式引用,只要线程是活动的并且 ThreadLocal 实例是可访问的;在线程消失之后,其线程局部实例的所有副本都会被垃圾回收
    C. 在Thread类中有一个Map,用于存储每一个线程的变量的副本。
    D. 对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式

    答案:ABCD

  • Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:( )
    A. Java反射主要涉及的类如Class, Method, Filed,等,他们都在java.lang.reflet包下
    B. 通过反射可以动态的实现一个接口,形成一个新的类,并可以用这个类创建对象,调用对象方法
    C. 通过反射,可以突破Java语言提供的对象成员、类成员的保护机制,访问一般方式不能访问的成员
    D. Java反射机制提供了字节码修改的技术,可以动态的修剪一个类
    E. Java的反射机制会给内存带来额外的开销。例如对永生堆的要求比不通过反射要求的更多
    F. Java反射机制一般会带来效率问题,效率问题主要发生在查找类的方法和字段对象,因此通过缓存需要反射类的字段和方法就能达到与之间调用类的方法和访问类的字段一样的效率

    解析:
    答案:ADF

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

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

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

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.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.18Java专项测试复盘

结构型模式中最体现扩展性的模式是() A. 装饰模式 B. 合成模式 C. 桥接模式 D. 适配器 解析:装饰模式指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能.它是通过创建一个包装对象,也就是装饰来包裹真实的对象. 答案:A 以下描述正确的是() A. CallableStatement是PreparedStatement的父接口 B. PreparedStatement是CallableStatement的父接口 C. CallableStatement是Stateme

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