急!高分求常见(经典)Java基础笔试题!
高分求常见(经典)Java基础笔试题!
越全越好!小弟先谢谢了!
------解决方案--------------------http://wenku.baidu.com/view/d366d03383c4bb4cf7ecd1cd.html
http://topic.csdn.net/u/20091218/00/46c8242d-58db-45a3-89ee-021e0d3b34cb.html
http://download.csdn.net/down/2079937/lxb2009
http://bbs.tech.ccidnet.com/read.php?tid=595287
google一下,baidu一下 多的是
------解决方案--------------------www.java2000.net
------解决方案--------------------一、xml有哪些解析技术?区别是什么?
答:有DOM,SAX,STAX等
DOM:处理大型文件时其性能下降的非常厉害。这个问题是由DOM的树结构所造成的,这种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适合对XML的顺序访问
STAX:Streaming API for XML (StAX)
二、 struts 的5个主要类
ActionServlet是系统维护的,你不能操作,它主要是根据传入的action路径在ActionMapping中查找相应的类,并调用它。
Action是控制器,主要是从ActionForm中接收页面传进来的数据,然后进行逻辑处理。
ActionForm是用来接收页面上表单中的数据。
ActionMapping是用来配置每个Action所对应的路径
ActionForward是用来实现跳转,在Action中最后一行语句通常是return mapping.forward()这里传入的值就在ActionForward中设置
三、ArrayList和Vector的区别,HashMap和Hashtable的区别
就ArrayList与Vector主要从二方面来说.
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
就HashMap与HashTable主要从三方面来说。
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
四、JDK1.5新特性
1,泛型(Generic) 2, for-Each循环 3,自动
装包拆包 4,枚举类型(Enums) 5,静态导入(Static imports)
五、JDK1.6新特性
1,desktop类和systemtray类
2,使用JAXB2来实现对象与xml之间映射
3,理解STAX
4,使用compiler API
5,轻量级的HTTPServer API
6,插入式注解处理
7,用console开发控制台程序
8,对脚本语言的支持:ruby、groovy、javascript
9,common Annotations
Struts、spring、hibernate 工作机制,为什么用!
六、hiberante工作机制
1. 读取并解析配置文件
2. 读取并解析映射信息,创建SessionFactory
3. 打开Sesssion
4. 创建事务Transation
5. 持久化操作
6. 提交事务
7. 关闭Session
8. 关闭SesstionFactory
为什么使用
1. 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。
2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作
3. hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。
4. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
5. 可扩展,卡发者可以根据需求定义查询
struts1.2工作原理以及为什么使用
Struts的工作原理:
在web应用启动时就会加载初始化ActionServlet,ActionServlet从
struts-config.xml文件中读取配置信息,把它们存放到各种配置对象
当ActionServlet接收到一个客户请求时,将执行如下流程.
-(1)检索和用户请求匹配的ActionMapping实例,如果不存在,就返回请求路径无效信息;
-(2)如果ActionForm实例不存在,就创建一个ActionForm对象,把客户提交的表单数据保存到ActionForm 对象中;
-(3)根据配置信息决定是否需要表单验证.如果需要验证,就调用ActionForm的validate()方法;
-(4)如果ActionForm的validate()方法返回null或返回一个不包含ActionMessage的ActuibErrors对象, 就表示表单验证成功;
-(5)ActionServlet根据ActionMapping所包含的映射信息决定将请求转发给哪个Action,如果相应的 Action实例不存在,就先创建这个实例,然后调用Action的execute()方法;
-(6)Action的execute()方法返回一个ActionForward对象,ActionServlet在把客户请求转发给 ActionForward对象指向的JSP组件;
-(7)ActionForward对象指向JSP组件生成动态网页,返回给客户;
为什么要用:
1、整合jsp、servlet、javaBean 是Web开发更加正规化。