java基础测试卷答案.doc
文本预览下载声明
JAVA面试题答案:
选择题 48分 每题2分
题目 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 答案 D B B B D B A C A D B D A C D A A C B D C B D A
二.填空题(每空1分,共15分)
1.java异常涉及到的关键字有 try 、 catch 、 throw 、 throws 、 finally 。
2.包装类Integer的 Parselnt方法实现字符串到整形变量的装换,Math类的 round 方法实现四舍五入。
3.HashMap的 put 和 get 方法分别用来添加和取出元素的值。
4. Collection接口中的 contains 方法判断集合中是否包含指定的元素,removeAll 方法移除collection中的所有元素。
5字符串的常用方法有 String()、length()、equals()、charAt() 。
三.简答题 30 分 每题5分
1、画图说明 Collection ,Map ,Set ,List ,之间的关系
String是最基本的数据类型吗,Java基本类型有哪些?
不是,Java定义了8个简单的数据类型:字节型(byte),短整型(short),整型(int),长整型(long),字符型(char),浮点型(float),双精度型(double),布尔型(boolean)
说出ArrayList,Vector, LinkedList的存储性能和特性
ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动 等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要 差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快。
4、简述Struts框架的初始化流程。
答案:
对于采用Struts框架的Web应用,在Web应用启动时就会加载并初始化控制器ActionServlet
ActionServlet从struts-config.xml文件中读取配置信息,把它们存放到ActionMappings对象中。
在Struts framework中, Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。
其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。
5、描述一下Spring中实现DI(Dependency Injection)的几种方式
方式1:接口注入,在实际中得到了普遍应用,即使在IOC的概念尚未确立时,这样的方法也已经频繁出现在我们的代码中。方式2:Type2 IoC: Setter injection对象创建之后,将被依赖对象通过set方法设置进去方式3:Type3 IoC: Constructor injection对象创建时,被依赖对象以构造方法参数的方式注入Spring的方式
6、IBatis中#与$的区别?
(1) #是把传入的数据当作字符串,如#field#传入的是id,则生成sql语句:order by id;(2)$传入的数据直接生成在sql里,如#field#传入的是id,则sql语句生成是这样,order by id ;(3) #方式能够很大程度防止sql注入, 但$方式无法防止sql注入;(4)$方式一般用于传入数据库对象.例如传入表名;(5) 一般能用#的就别用$ ;
四.编程题 7分
运用IO流实现文件的拷贝,请写出相关实现代码。
import java.io.*;
public class Test {
public static void main(String[] ashs) throws IOException {
FileInputStream fis = new FileInputStream(ashs[0]);
FileOutputStream fos = new FileOutputStream(ashs[1]);
byte[] buf = new byte[512];
int n = 0;
do {
n = fis
显示全部