2019年12月14日 java1

考点1 进制加权展开

以下哪个式子有可能在某个进制下成立()?

  • A 13*14=204
  • B 12*34=568
  • C 14*14=140
  • D 1+1=3

解析

显示答案/隐藏答案正确答案: A

(1n+3)(1n+4)=2n^2+4;
解得: n=-1或n=8; 进制不为负数,所以 n=8成立

考点2 字符流 字节流

下面的类哪些可以处理Unicode字符?

  • A InputStreamReader
  • B BufferedReader
  • C Writer
  • D PipedInputStream

解析

显示答案/隐藏答案正确答案: ABC

考点3 字符集

在Java语言中,下列关于字符集编码(Character set encoding)和国际化(i18n)的问题,哪些是正确的?

  • A 每个中文字符占用2个字节,每个英文字符占用1个字节
  • B 假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。
  • C Javachar类型,通常以UTF-16 Big Endian的方式保存一个字符。
  • D 实现国际化应用常用的手段是利用ResourceBundle

解析

显示答案/隐藏答案正确答案: CD

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

考点4 EJB

下列说法正确的是()

  • A WebLogic中开发消息Beannonpersistent 方式可以保证消息的可靠
  • B EJB容器发生错误,non-persistent方式下JMS容器仍然会将消息发送
  • C EJB容器发生错误,persistent方式下JMS容器仍然会将消息发送
  • D EJB容器发生错误,两种方式下JMS容器仍会在MDB可用的时候将消息发送

解析

显示答案/隐藏答案正确答案: C

weblogic中开发消息Bean时的persistent与non-persisten的差别:
persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来。
non-persistent方式的消息将被丢弃。

考点5 中间件

关于中间件特点的描述.不正确的是()

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

解析

显示答案/隐藏答案正确答案: A

中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。
中间件位于客户机/服务器的操作系统之上应用软件之下,用来管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。相连接的系统,即使它们具有不同的接口,但通过中间件相互之间仍能交换信息。执行中间件的一个关键途径是信息传递。通过中间件,应用程序可以工作于多平台或OS环境。

(简单来说,中间件并不能提高内核的效率,一般只是负责网络信息的分发处理)

中间件位于操作系统之上,应用软件之下,而不是操作系统内核中

考点6 存根类 适配器模式

存根(Stub)与以下哪种技术有关

  • A 交换
  • B 动态链接
  • C 动态加载
  • D 磁盘调度

解析

显示答案/隐藏答案正确答案: B

什么是存根类

存根类是一个类,它实现了一个接口,但是实现后的每个方法都是空的。 

存根类的作用

如果一个接口有很多方法,如果要实现这个接口,就要实现所有的方法。但是一个类从业务来说,可能只需要其中一两个方法。如果直接去实现这个接口,除了实现所需的方法,还要实现其他所有的无关方法。而如果通过继承存根类就实现接口,就免去了这种麻烦

考点7 静态方法

阅读如下代码。 请问,对语句行 test.hello(). 描述正确的有()

1
2
3
4
5
6
7
8
9
10
11
12
13
package NowCoder;
class Test {
public static void hello() {
System.out.println("hello");
}
}
public class MyApplication {
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test=null;
test.hello();
}
}
  • A 能编译通过,并正确运行
  • B 因为使用了未初始化的变量,所以不能编译通过
  • C 以错误的方式访问了静态方法
  • D 能编译通过,但因变量为null,不能正常运行

解析

显示答案/隐藏答案正确答案: A

类方法不依附与对象。所以可以正常运行

考点8 lambda表达式

下面哪些写法能在 java8 中编译执行()

  • A dir.listFiles((File f)->f.getName().endsWith(".Java"));
  • B dir.listFiles((File f)=>f.getName().endsWith(".Java"));
  • C dir.listFiles((_.getName().endsWith(".Java")));
  • D dir.listFiles( f->f.getName().endsWith(".Java"));

解析

显示答案/隐藏答案正确答案: AD

Lanbda表达式的主要作用就是代替匿名内部类的繁琐语法, 它由三部分组成:

  1. 形参列表。
    • 形参列表允许省略形参类型
    • 如果形参列表中只有一个参数,甚至连形参列表的圆括号也可以省略
  2. 箭头(->)。必须通过英文减法符号和大于符号组成。
  3. 代码块。
    • 如果代码块只包含一条语句,Lambda表达式允许省略代码块的花括号,那么那条语句就不要用花括号表示语句结束。
    • Lambda代码块只有一条return语句,甚至可以省略return关键字。
    • Lambda表达式需要返回值,而它的代码块中仅有一条省略了return的语句。Lambda表达式会自动返回这条语句的值。

考点9 Servlet过滤器

在J2EE中,使用Servlet过滤器,需要在web.xml中配置()元素

  • A <filter>
  • B <filter-mapping>
  • C <servlet-filter>
  • D <filter-config>

解析

显示答案/隐藏答案正确答案: AB

Servlet过滤器的配置包括两部分:
第一部分是过滤器在Web应用中的定义,由元素表示,包括两个必需的子元素
第二部分是过滤器映射的定义,由元素表示,
两个子元素
可以将一个过滤器映射到一个或者多个Servlet或JSP文件,也可以采用url-pattern将过滤器映射到任意特征的URL。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!-- 字符编码过滤器 -->
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<async-supported>true</async-supported>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

没有