当前位置:首页>新奇发现>文章内容

java面试笔试题

2016/3/12分类:新奇发现 张孝帅

  java面试笔试题

  • JSP九大内置对象,JSP内置对象右那些?
  • java中重载和重写(覆盖)的区别
  • Java中this和super的用法介绍和区别
  • Java中常量与变量有什么区别
  • 物理内存与虚拟内存的区别
  • java里equals和==的区别
  • Cookie和Session的区别
  • 总结Struts1与Struts2的区别
  • JAVA中关于set()和get()方法的理解及使用
  • java:什么是类?什么是对象?什么是包?
  • hashmap和hashtable的区别
  • Java中final、finally、finalize的区别
  • Java中wait和sleep的区别
  • 常见的几种RuntimeException
  •   1.描述JSP和Servlet有什么区别?

      JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"

      类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全

      从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。

      JSP侧重于视图,Servlet主要用于控制逻辑。

      2.Spring和Hibernate如何协同工作?

      spring 是业务容器,就是关联底层的hibernate和展现层的struts2。

      hibernate 是一个数据持久层的框架,只管 怎么去访问及操作数据库的数据.

      spring 是一个更加强大的框架,是为J2EE 应用程序开发提供集成的框架,体现在其简单性、可测试

      性和松耦合上,同时对面向切面编程也有支撑的.

      再简单打个比方,

      hibernate 是 仓库的仓储管理人员,负责货物的仓储管理.

      spring 就是 管理层的核心领导,负责协调调度,以保障企业的良好运作.

      三大框架介绍

      【Struts 】

      Struts只是一个MVC框架(Framework),用于快速开发Java Web应用。Struts实现的重点在C

      (Controller),包括ActionServlet/RequestProcessor和我们定制的Action,也为V(View)提供了一

      系列定制标签(Custom Tag)。但Struts几乎没有涉及M(Model),所以Struts可以采用JAVA实现的

      任何形式的商业逻辑。

      【Spring 】

      Spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造

      我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向

      层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展

      ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;

      Web MVC和Spring Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。

      就是说可将两者一起使用,达到将两者自身的特点进行互补。

      【Hibernate 】

      Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库

      中包含每天使用的普通Java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回

      到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们

      或稍后如何找到它们。

      3.什么是监听器、拦截器、过滤器?

      1.过滤器:所谓过滤器顾名思义是用来过滤的,在Java web中,你传入的request,response提前过

      滤掉一些信息,或者提前设置一些参数,然后再传入servlet或者struts的action进行业务逻辑,

      比如过滤掉非法url(不是login.do的地址请求,如果用户没有登陆都过滤掉),或者在传入

      servlet或者struts的action前统一设置字符集,或者去除掉一些非法字符(聊天室经常用到的,

      一些骂人的话)。filter 流程是线性的, url传来之后,检查之后,可保持原来的流程继续向下

      执行,被下一个filter, servlet接收等.

      2.监听器:这个东西在c/s模式里面经常用到,他会对特定的事件产生产生一个处理。监听在很多

      模式下用到。比如说观察者模式,就是一个监听来的。又比如struts可以用监听来启动。Servlet

      监听器用于监听一些重要事件的发生,监听器对象可以在事情发生前、发生后可以做一些必要的处

      理。

      3.java的拦截器 主要是用在插件上,扩展件上比如 hivernate spring struts2等 有点类似面向

      切片的技术,在用之前先要在配置文件即xml文件里声明一段的那个东西。

      4.Hibernate的一级缓存和二级缓存有什么区别以及一级缓存的生命周期?

      Hibernate提供了两级缓存,第一级是Session的缓存。由于Session对象的生命周期通常对应一个

      数据库事务或者一个应用事务,因此它的缓存是事务范围的缓存。第一级缓存是必需的,不允许而

      且事实上也无法比卸除。在第一级缓存中,持久化类的每个实例都具有唯一的OID。

      第二级缓存是一个可插拔的的缓存插件,它是由SessionFactory负责管理。由于

      SessionFactory对象的生命周期和应用程序的整个过程对应,因此第二级缓存是进程范围或者集群

      范围的缓存。这个缓存中存放的对象的松散数据。第二级对象有可能出现并发问题,因此需要采用

      适当的并发访问策略,该策略为被缓存的数据提供了事务隔离级别。缓存适配器用于把具体的缓存

      实现软件与Hibernate集成。第二级缓存是可选的,可以在每个类或每个集合的粒度上配置第二级

      缓存。

      5.描述Spring的工作机制?

      1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对

      请求进行真正的处理工作。

      2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller.

      3.DispatcherServlet请请求提交到目标Controller

      4.Controller进行业务逻辑处理后,会返回一个ModelAndView

      5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象

      6.视图对象负责渲染返回给客户端。

    关于博主

    博主

    博主:张孝帅

    简介:这很小小帅

    java学习书籍推荐,点我有惊哟!

    java疯狂讲义