2.15测试复盘

  • 以下声明合法的是:
    A. default String s
    B. public final static native int w()
    C. abstract double d
    D. abstract final double hyperholicCosine()

    解析:A. default不能修饰变量。B. native修饰方法,native修饰的方法简单来说就是:一个Java方法调用了一个非Java代码的接口。C. 普通变量不能用abstract修饰,abstract一般修饰方法和类。D. abstract与final不能共用,一个要继承一个不能被继承,矛盾。
    答案:B

  • 在一个基于分布式的游戏服务器系统中,不同的服务器之间,哪种通信方式是不可行的()?
    A. 管道
    B. 消息队列
    C. 高速缓存数据库
    D. 套接字

    解析:要求是对于不同的服务器之间的通信,是要求全双工形式的,而管道只能是半双工,虽然可以双向,但是同一时间只能有一个方向传输
    答案:A

  • 下列不是Java关键字的是()
    A. abstract
    B. false
    C. native
    D. sizeof

    解析:
    1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。
    2)2个保留字(现在没用以后可能用到作为关键字):goto、const。
    3)3个特殊直接量:true、false、null。

    答案:BD

  • 关于依赖注入,下列选项中说法错误的是()
    A. 依赖注入能够独立开发各组件,然后根据组件间关系进行组装
    B. 依赖注入提供使用接口编程
    C. 依赖注入使组件之间相互依赖,相互制约
    D. 依赖注入指对象在使用时动态注入

    解析:依赖注入目的是减少组件之间的耦合度
    答案:C

  • 关于中间件特点的描述不正确的是()
    A. 中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率
    B. 中间件应支持标准的协议和接口
    C. 中间件可运行于多种硬件和操作系统平台上
    D. 跨越网络,硬件,操作系统平台的应用或服务可通过中间件透明交互

    解析:中间件并不能提高内核的效率,一般只是负责网络信息的分发处理。
    中间件特点的描述:
    1.中间件应支持标准的协议和接口
    2.中间件可运行于多种硬件和操作系统平台上
    3.跨越网络,硬件,操作系统平台的应用或服务可通过中间件透明交互

    答案:A

  • 下面哪个行为被打断不会导致InterruptedException:()?
    A. Thread.join
    B. Thread.sleep
    C. Object.wait
    D. CyclicBarrier.await
    E. Thread.suspend

    解析:API里面写的:当线程在活动之前或活动期间处于正在等待、休眠或占用状态且该线程被中断时,抛出该异常。D.CyclicBarrier是一个屏障类,它的await方法可以简单的理解为:等待多个线程同时到达之后才能继续进行,在此之前它就是这些线程的屏障,线程不能继续进行,而对于失败的同步尝试,CyclicBarrier 使用了一种要么全部要么全不 (all-or-none) 的破坏模式:如果因为中断、失败或者超时等原因,导致线程过早地离开了屏障点,那么在该屏障点等待的其他所有线程也将通过 BrokenBarrierException(如果它们几乎同时被中断,则用 interruptedException)以反常的方式离开。因此它被中断也是可以抛出interruptedException的。E. 调用Suspend使线程挂起,暂停执行,故suspend不会抛出该异常。
    答案:E

  • What is the result of compling and executing the following fragment of code:

    Boolean flag = false;
    if (flag = true)
    {
        System.out.println(true);
    }
    else
    {
        System.out.println(false);
    }
    

    A. The code fails to compile at the “if” statement.
    B. An exception is thrown at run-time at the “if” statement.
    C. The text“true” is displayed.
    D. The text“false”is displayed.
    E. Nothing is displayed.

    解析:if的语句比较,除boolean外的其他类型都不能使用赋值语句,否则会提示无法转成布尔值。
    答案:C

  • 下列关于包(package)的描述,正确的是()
    A. 包(package)是Java中描述操作系统对多个源代码文件组织的一种方式。
    B. import语句将所对应的Java源文件拷贝到此处执行。
    C. 包(package)是Eclipse组织Java项目特有的一种方式。
    D. 定义在同一个包(package)内的类可以不经过import而直接相互使用。

    解析:1、为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。Java中的包一般均包含相关的类,java是跨平台的,所以java中的包和操作系统没有任何关系,java的包是用来组织文件的一种虚拟文件系统。A错
    2、import语句并没有将对应的java源文件拷贝到此处仅仅是引入,告诉编译器有使用外部文件,编译的时候要去读取这个外部文件。B错
    3、Java提供的包机制与IDE没有关系。C错
    4、定义在同一个包(package)内的类可以不经过import而直接相互使用。

    答案:D

  • 以下哪个I/O类可以附加或更新文件
    A. RandomAccessFile()
    B. OutputStream()
    C. DataOutputStream()
    D. None of the above

    解析:
    答案:A

  • 以下代码将打印出

    public static void main (String[] args) { 
        String classFile = "com.jd.". replaceAll(".", "/") + "MyClass.class";
        System.out.println(classFile);
    }
    

    A. com. jd
    B. com/jd/MyClass.class
    C. ///MyClass.class
    D. com.jd.MyClass

    解析:由于replaceAll方法的第一个参数是一个正则表达式,而".“在正则表达式中表示任何字符,所以会把前面字符串的所有字符都替换成”/"。如果想替换的只是“.”的话,正则表达式那里就要写成“\.”或者是“[.]”。前者将“.”转义为“.”这个具体字符,后者则匹配“[]”中的任意字符,“.”就代表具体字符“.”
    答案:C

  • 下列哪一项不是加载驱动程序的方法?
    A. 通过DriverManager.getConnection方法加载
    B. 调用方法 Class.forName
    C. 通过添加系统的jdbc.drivers属性
    D. 通过registerDriver方法注册

    解析:DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的。
    答案:A

  • 如何获取ServletContext设置的参数值?
    A. context.getParameter()
    B. context.getInitParameter()
    C. context.getAttribute()
    D. context.getRequestDispatcher()

    解析:
    getParameter()是获取POST/GET传递的参数值;
    getInitParameter获取Tomcat的server.xml中设置Context的初始化参数
    getAttribute()是获取对象容器中的数据值;
    getRequestDispatcher是请求转发。

    答案:B

  • 在Java语言中,下列关于字符集编码(Character set encoding)和国际化(i18n)的问题,哪些是正确的?
    A. 每个中文字符占用2个字节,每个英文字符占用1个字节
    B. 假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。
    C. Java的char类型,通常以UTF-16 Big Endian的方式保存一个字符。
    D. 实现国际化应用常用的手段是利用ResourceBundle类

    解析:
    A. Java一律采用Unicode编码方式,每个字符无论中文还是英文字符都占用2个字节。
    B 也是不正确的,不同的编码之间是可以转换的,通常流程如下:将字符串S以其自身编码方式分解为字节数组,再将字节数组以你想要输出的编码方式重新编码为字符串。
    例:String newUTF8Str = new String(oldGBKStr.getBytes(“GBK”), “UTF8”);
    C 是正确的。Java虚拟机中通常使用UTF-16的方式保存一个字符
    D 也是正确的。ResourceBundle能够依据Local的不同,选择性的读取与Local对应后缀的properties文件,以达到国际化的目的。

    答案:CD

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值