javaweb经典面试题

一、hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了很是轻量级的对象封装,使得java程序员能够为所欲为的使用对象编程思惟来操纵数据库。java

工做原理:程序员

1.读取并解析配置文件2.读取并解析映射信息,建立SessionFactory 3.打开Sesssion 4.建立事务Transation 5.持久化操做6.提交事务7.关闭Session 8.关闭SesstionFactoryspring

优势有:sql

1.对JDBC访问数据库的代码作了封装,大大简化了数据访问层繁琐的重复性代码。数据库

  1. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工做

三、Hibernate使用Java反射机制而不是字节码加强程序来实现透明性。编程

四、Hibernate的性能好,映射的灵活性比较出色。它支持各类关系数据库,从一对一到多对多的各类复杂关系。缓存

二、hibernate的核心类是什么??重要方法是什么??服务器

Configuration、SessionFactorysession

Session以下方法Save、load、Update、Deletemvc

Queryq=CreateQuery(“from Customer where customerName=:customerName”)

beginTransaction、close、Transaction、Commit()

三、session.load()和session.get()的区别

Session.load/get方法都可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象。其区别在于:

若是未能发现符合条件的记录,get方法返回null,而load方法会抛出一个ObjectNotFoundException。

四、hql和sql的区别

【能够这样说,hibernate是面向对象语言与关系型数据库之间的桥梁,他使得程序员能够不用关心底层数据库链接的代码,而能够专心写业务逻辑。】

sql是面向数据库表查询

hql是面向对象查询的,其form子句返回的是对象的实例。

五、hibernate与jdbc之间的区别

【能够这样说,hibernate是面向对象语言与关系型数据库之间的桥梁,他使得程序员能够不用关心底层数据库链接的代码,而能够专心写业务逻辑。】

Hibernate做为一个O/R Mapping,比JDBC具有的优点有:

1.编程思想上,更加符合人的逻辑思惟习惯,面向对象比面向过程更加容易理解,测试和维护

2.开发维护速度上,Hibernate显著的快,代码量显著小

3.经过Annotation进行数据库的字段加密

4.对Sql不熟的菜鸟来讲能够自动调优

5.结合spring,经过声明式事务能够省略事务的控制,事务以横切面形式出现

Jdbc比Hibernate具有的优点有:

1.大数据量访问时,Jdbc的效率显著快

2.直接操做数据库比较灵活

六、Hibernate是如何延迟加载?

当Hibernate在查询数据的时候,数据并无存在与内存中,当程序真正对数据的操做时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提升了服务器的性能。

七、说下Hibernate的缓存机制

1.内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存

2.二级缓存:

a)应用及缓存

b)分布式缓存

c)第三方缓存的实现

八、spring工做机制及为何要用?

【spring是一个轻量的控制反转和面向切面的容器框架】

1.springmvc把全部的请求都提交给DispatcherServlet,它会委托应用系统的其余模块负责对请求进行真正的处理工做。

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

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

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

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

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

IoC就是由容器来控制业务对象之间的依赖关系。控制反转的本质,是控制权由应用代码转到了外部容器,控制器的转移既是所谓的反转。控制权的转移带来的好处就是下降了业务对象之间的依赖程度,即实现了解耦。

DI/IOC,对持久层和表示层的控制与分配,增长系统的灵活性和稳定性. AOP,面向切面,利用代理对程序的有效管理.

spring是一个轻量级的IOC和AOP框架,经过spring的IOC实现松耦合,而做为一个AOP框架他又能分离系统服务,实现内聚开发Spring最好的地方是它有助于您替换对象。有了Spring,只要用JavaBean属性和配置文件加入依赖性(协做对象)。而后能够很容易地在须要时替换具备相似接口的协做对象。}

Spring对多种ORM框架提供了很好的支持

做者: 石头人m 连接:http://www.imooc.com/article/18814 来源:慕课网
相关文章
相关标签/搜索