平安科技java机试题_平安科技Java⾯试题集
平安科技Java⾯试题集
平安⾯试题集 ⼀、基础知识问题 1.jsp九⼤内置对象? 答:
(request,response,pageContext,session,application,out,config,page,exception); 2.jsp与servlet的区别? 答: jsp编译后是‘类servlet’,jsp是servlet技术的扩展,是servlet的简易⽅式,jsp注重于视图,⽽servlet更注重逻辑。 3.重定向(sendRedirect)与转发(forward)的区别? 答:⼀个值被存在request中,如果⽤的重定向⽅式跳转到页⾯的话,页⾯将取不到request对象中的值,⽽转发就能取到。 调⽤HttpServletResponse.sendRedirect⽅法重定向的访问过程结束后,浏览器地址栏中显⽰的URL会发⽣改变,由初始的URL 地址变成重定向的⽬标URL; ⽽调⽤RequestDispatcher.forward ⽅法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变.
使用dom4j解析xml文件4.怎么解析XML,解析XML的⽅式有那些? 答:没答完整。 常⽤⽅式:dom、sax、JDOM、DOM4J dom:由于树在内存中是持久的,因此可以修改它以便应⽤程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,⽽不是像 SAX 那样是⼀次性的处理。DOM 使⽤起来也要简单得多。 另⼀⽅⾯,对于特别⼤的⽂档,解析和加载整个⽂档可能很慢且很耗资源,因此使⽤其他⼿段来处理这样的数据会更好 sax:这种处理的优点⾮常类似于流媒体的优点。分析能够⽴即开始,⽽不是等待所有的数据
被处理。⽽且,由于应⽤程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。 这对于⼤型⽂档来说是个巨⼤的优点。事实上,应⽤程序甚⾄不必解析整个⽂档;它可以在某个条件得到满⾜时停⽌解析。⼀般来说,SAX 还⽐它的替代者 DOM 快许多。 jdom:JDOM 与 DOM 主要有两⽅⾯不同。⾸先,JDOM 仅使⽤具体类⽽不使⽤接⼝。这在某些⽅⾯简化了 API,但是也限制了灵活性。 第⼆,API ⼤量使⽤了 Collections 类,简化了那些已经熟悉这些类的 Java 开发者的使⽤ dom4j:它合并了许多超出基本 XML ⽂档表⽰的功能,包括集成的 XPath ⽀持、XML Schema ⽀持以及⽤于⼤⽂档或流化⽂档的基于事件的处理。 它还提供了构建⽂档表⽰的选项,它通过 DOM4J API 和标准 DOM 接⼝具有并⾏访问功能。 DOM4J 使⽤接⼝和抽象基本类⽅法。DOM4J ⼤量使⽤了 API 中的 Collections 类,但是在许多情况下,它还提供⼀些替代⽅法以允许更好的性能或更直接的编码⽅法。 直接好处是,虽然 DOM4J 付出了更复杂的 API 的代价,但是它提供了⽐ JDOM ⼤得多的灵活性。
5.为什么要建⽴索引? 答:索引⽅便⽤户对数据的访问。在应⽤系统中,为数据库中的表建⽴正确、合理的索引,可以极⼤地提⾼应⽤系统的性能: 在存取数据时,避免进⾏表扫描。没有索引,对表中数据的任何访问都要进⾏表扫描。在表上建⽴索引,虽然不会完全避免表扫描的执⾏,但会⼤⼤降低它的执⾏次数。
6.唯⼀索引与主键的区别? 主键约束是不可以为空也不可以重复,⽽唯⼀索引是可以为空不可以重复。 两者的概念不⼀样,主键是相对表⽽⾔,⽤来防⽌表中的数据元素重复⽽设定的唯⼀标识,索引
是为了加快数据检索,提⾼数据库性能⽽建⽴的。 ⼀个表的主键只能有 ⼀个,但是唯⼀索引可能有多个。 主键⼀定是唯⼀索引,唯⼀索引不⼀定是主键。
7.知不知道Collection? 答:Collection是最基本的集合接⼝,它的⼦接⼝有List、Set,List下⼜有LinkedList、ArrayList、Vector。(千万不要把Map说进去了,因为Collection跟Map是同级别的)。 8.Collection与Collections的区别? 答:
Collection:java.util.Collection 是⼀个集合接⼝。它提供了对集合对象进⾏基本操作的通⽤接⼝⽅法。Collection接⼝在Java 类库中有很多具体的实现。 Collection接⼝的意义是为各种具体的集合提供了最⼤化的统⼀操作⽅式。 Collections:java.util.Collections 是⼀个包装类。它包含有各种有关集合操作的静态多态⽅法。此类不能实例化,就像⼀个⼯具类,服务于Java的Collection框架。 (例:申明⼀个list,并向list⾥添加值,然后通过Collections.sort(list),此list⾥的值就会排序). 9.Hashtable和HashMap的区别: 答:1.Hashtable是Dictionary的⼦类,HashMap是Map接⼝的⼀个实现类; 2.Hashtable中的⽅法是同步的,⽽HashMap中的⽅法在缺省情况下是⾮同步的。即是说,在多线程应⽤程序中,不⽤专门的操作就安全地可以使⽤Hashtable了; ⽽对于HashMap,则需要额外的同步机制。但HashMap的同步问题可通过Collections的⼀个静态⽅法得到解决: Map Collections.synchronizedMap(Map m) 这个⽅法返回⼀个同步的Map,这个Map封装了底层的HashMap的所有⽅法,使得底层的HashMap即使是在多线程的环境中也是安全的。 3.在HashMap 中,
null可以作为键,这样的键只有⼀个;可以有⼀个或多个键所对应的值为null。当get()⽅法返回null值时,即可以表⽰HashMap中没有该键,也可以表⽰该键所对应的值为null。 因此,在HashMap中不能由get()⽅法来判断HashMap中是否存在某个键,⽽应该⽤containsKey()⽅法来判断。 Hashtable继承⾃Dictionary类,⽽HashMap是Java1.2引进的Map interface的⼀个实现 HashMap允许将null作为⼀个entry的key或者value,⽽Hashtable不允许 还有就是,HashMap把Hashtable的contains⽅法去掉了,改成containsvalue和containsKey。因为contains⽅法容易让⼈引起误解。 最⼤的不同是,Hashtabl

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。