文档详情

java基础测试卷答案.doc

发布:2017-06-06约2.11千字共2页下载文档
文本预览下载声明
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
显示全部
相似文档