2019年11月28日 java1

考点1

下面有关maven和ant的描述,描述错误的是?

  • A Ant 没有正式的约定如一个一般项目的目录结构,你必须明确的告诉 Ant 哪里去找源代码
  • B Maven 拥有约定,因为你遵循了约定,它已经知道你的源代码在哪里
  • C mavenant都有”生命周期”的概念,当你输入一个命令后,maven或者ant会执行一系列的有序的步骤,直到到达你指定的生命周期
  • D Ant构建文件默认命名为build.xml,Maven默认构建文件为pom.xml

解析

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

Ant没有生命周期,你必须定义目标和目标之间的依赖。你必须手工为每个目标附上一个任务序列。
有空了解一下
Ant的作用:是一种基于Java的build工具

能够用ant编译java类。生成class文件
ant能够自己定义标签、配置文件,用于构建。
ant能够把相关层构建成jar包 。
ant把整个项目生成web包。并公布到Tomcat
Ant的长处:

跨平台性:Ant是纯Java语言编写的,因此具有非常好的跨平台性。
操作简单:Ant是由一个内置任务和可选任务组成的。Ant执行时须要一个XML文件(构建文件)。
Ant通过调用target树,就能够运行各种task:每一个task实现了特定接口对象。因为Ant构建文件时XML格式的文件。所以非常easy维护和书写,并且结构非常清晰。
Ant能够集成到开发环境中:因为Ant的跨平台性和操作简单的特点。它非常easy集成到一些开发环境中去。
Maven的作用: 除了以程序构建能力为特色之外,还提供高级项目管理工具。
Maven除了具备Ant的功能外。还添加了下面基本的功能:
使用Project Object Model来对软件项目管理。
内置了很多其它的隐式规则,使得构建文件更加简单。
内置依赖管理和Repository来实现依赖的管理和统一存储;
内置了软件构建的生命周期;
Maven的长处:
拥有约定,知道你的代码在哪里,放到哪里去
拥有一个生命周期,比如运行 mvn install就能够自己主动运行编译,測试。打包等构建过程
仅仅须要定义一个pom.xml,然后把源代码放到默认的文件夹,Maven帮你处理其它事情
拥有依赖管理。仓库管理
总体的比較:
Ant将提供了非常多能够重用的task,比如 copy, move, delete以及junit单元測试Maven则提供了非常多能够重用的过程。

考点2

有一个源代码,只包含import java.util.* ; 这一个import语句,下面叙述正确的是? ( )

  • A 只能写在源代码的第一句
  • B 可以访问java/util目录下及其子目录下的所有类
  • C 能访问java/util目录下的所有类,不能访问java/util子目录下的所有类
  • D 编译错误

解析

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

导入java.util.*不能读取其子目录的类,因为如果java.util里面有个a类,java.util.regex里面也有个a类,我们若是要调用a类的方法或属性时,应该使用哪个a类呢。所以也应该选C

考点3

下面代码的输出结果为:
String str =
“”;
System.out.print(str.split(“,”).length);

  • A 0
  • B 1
  • C 出现异常

解析

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

String的 split 方法默认返回一个数组, 如果没有找到分隔符, 会把整个字符串当成一个长度为1的字符串数组返回到结果, 所以此处结果就是1

考点4

局部内部类可以用哪些修饰符修饰?

  • A public
  • B private
  • C abstract
  • D final

解析

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

局部内部类定义在方法中,可以看成局部变量,局部本身就是访问权限修饰,不能有public,protected,public修饰,另外,普通方法中不能定义static内部类。

成员内部类定义在类中,是类的成员,类的成员可以有public,protected,public,static修饰。

考点5

在socket编程中,可以使用方法( )获取本机的ip地址

  • A getInetAddress()
  • B getLocalAddress()
  • C getReuseAddress()
  • D getLocalPort()

解析

显示答案/隐藏答案正确答案: B
  • getInetAddress获取主机名和IP地址
  • getLocalAddress()顾名思义,获取本地IP地址
  • getReuseAddress()返回布尔类型,表示复用地址

考点6

以下 b 的值是: byte b = (byte)129;

  • A -126
  • B -127
  • C -128
  • D -129

解析

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

byte型占一个字节,也就是8位,int型4个字节,32位);二、在计算机系统中,数值一律用补码来表示(存储)
正数:补码=反码=原码(当然以二进制形式表达)
129 int类型(4个字节)二进制:

1
00000000 00000000 00000000 10000001

强制转换byte型后,只有一个字节即

1
1000 0001

(注意这里从二进制角度看,第一位是符号位,即求负数的补码接下来)
只要求出上面原码对应的补码就行了,然后再转换对应的int型数值(因为题干所给的答案都是比较int型)

1
1000 0001

(原码)
对应的反码为

1
1111 1110

又补码等于反码+1,即

1
1111 1111

该二进制转换int型刚好是

1
-127=(1+2+4+8+16+32+64)

普及一下

  • 正数原码,反码,补码相同
  • 负数反码除了符号位不变,其他位取反,
  • 负数补码=反码+1;

考点7

下列关于包(package)的描述,正确的是()

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

解析

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

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

考点8

某程序要求每次输入只能是正整数,并且每次输入的数值要求必须是100的倍数且小于等于500,则下列哪个是正确的无效等价类( )

  • A (0,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);
  • B (500,+∞)
  • C (500,+∞)、任意大于0小于500的非100倍数的整数;
  • D (-∞,100)、(100,200)、(200,300)、(300,400)、(400,500)、(500,+∞);

解析

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

什么是有效等价类

  • 无效等价类是指不满足软件规格说明的输入数据集合,也就是没有意义的、不合理的输入数据集合。
    • 利用无效等价类可以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。

什么是无效等价类

  • 有效等价类是指输入数据完全满足程序输入的规格说明,是有效、有意义的输入数据所构成的集合。
    • 利用有效等价类可以检验程序是否满足规格说明所规定的功能和性能。

考点9

关于volatile关键字,下列描述不正确的是?

  • A 用volatile修饰的变量,每次更新对其他线程都是立即可见的。
  • B 对volatile变量的操作是原子性的。
  • C 对volatile变量的操作不会造成阻塞。
  • D 不依赖其他锁机制,多线程环境下的计数器可用volatile实现。

解析

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

有空了解一下

考点10

JSP分页代码中,哪个步骤次序是正确的?

  • A 先取总记录数,得到总页数,最后显示本页的数据。
  • B 先取所有的记录,得到总页数,再取总记录数,最后显示本页的数据。
  • C 先取总页数,得到总记录数,再取所有的记录,最后显示本页的数据。
  • D 先取本页的数据,得到总页数,再取总记录数,最后显示所有的记录。

解析

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

考点11

对下面Spring声明式事务的配置含义的说明错误的是()

1
2
3
4
5
6
7
8
9
10
11
<bean id="txProxyTemplate" abstract="true"
class=
"org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager" ref="myTransactionManager" />
<property name="transactionAttributes">
<props>
<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
<prop key="*">PROPAGATION_REQUIRED</prop>
</props>
</property>
</bean>
  • A 定义了声明式事务的配置模板
  • B 对get方法采用只读事务
  • C 缺少sessionFactory属性的注入
  • D 配置需要事务管理的bean的代理时,通过parent引用这个配置模板,代码如下:

解析

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

有空了解一下。

考点12

JSP分页代码中,哪个步骤次序是正确的?

  • A 先取总记录数,得到总页数,最后显示本页的数据。
  • B 先取所有的记录,得到总页数,再取总记录数,最后显示本页的数据。
  • C 先取总页数,得到总记录数,再取所有的记录,最后显示本页的数据。
  • D 先取本页的数据,得到总页数,再取总记录数,最后显示所有的记录。

解析

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

有空了解一下。