1.web 中的 forward 和 redirect 的区别?
  前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用 forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用 sendRedirect()方法。
 
  2. xml 在解释的时候 DOM 和 SAX 协议的区别和含义?
  DOM:处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结构占用的内存较多,而且DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机访问
  SAX:不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理 XML 文件,适合对 XML 的顺序访问
 
  3 说明 JNDI、JMS、JTA、RMI 的意思?
  JNDI(Java Naming and Directory Interface)是一个应用程序设计的 API,为开发人员提供了查找和访问各种命名和目录服务的通用、统一的接口,类似 JDBC 都是构建在抽象层上。
  JMS(Java Messaging Service)是 Java 平台上有关面向消息中间件的技术规范,翻译为 Java 消息服务。JMS 支持点对点和发布/订阅两种消息模型。
  JTA(Java Transaction API) 为 J2EE 平台提供了分布式事务服务。要用 JTA 进行事务界定,应用程序要调用 javax.transaction.UserTransaction 接口中的方法。
  RMI 是 Java 的一组拥护开发分布式应用程序的 API。RMI 使用 Java 语言接口定义了远程对象,它集合了 Java 序列化和Java 远程方法协议(Java Remote Method Protocol)。它大大增强了 Java 开发分布式应用的能力。
 
  4.单例模式
  Public class Signle{
  Private Signle(){
  }
  Pirvate static Signle signle = new Signle();
  Public static Signle gets(){
  Retrun signle;
  }
  }
 
  5 数据库中 left join 的意思,和在什么场合中应用?
  LEFT JOIN 操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
 
  6 ejb 中的 sessionbean 和 entitybean 的区别和含义?
  SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。
  对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。
  对于客户机,EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。
 
  7 抽象类和接口的区别
  1:一个类可以实现任意多的接口,但是多只能对一个抽象类进行子类化。
  2:一个抽象类可以包括非抽象方法,而一个接口的所有方法在效果上都是抽象的。
  3:一个抽象类可以申明并使用变量,而一个接口不行。
  4:一个抽象类中的方法的访问修饰符可以使 public,internal,protected,protected internal,private,而接口成员的访问修饰符在默认情况下都是 public,而且,在申明接口成员时,不允许使用访问修饰符(甚至不能使用 public)。
  5:一个抽象类可以定义构造函数,而一个接口不行。