面试题-8(ssh)

上传人:飞****9 文档编号:150562560 上传时间:2020-11-07 格式:DOC 页数:7 大小:80KB
返回 下载 相关 举报
面试题-8(ssh)_第1页
第1页 / 共7页
面试题-8(ssh)_第2页
第2页 / 共7页
面试题-8(ssh)_第3页
第3页 / 共7页
面试题-8(ssh)_第4页
第4页 / 共7页
面试题-8(ssh)_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《面试题-8(ssh)》由会员分享,可在线阅读,更多相关《面试题-8(ssh)(7页珍藏版)》请在金锄头文库上搜索。

1、SSH面试题总结:1:Hibernate工作原理及为什么要用Hibernate? 原理:hibernate,通过对jdbc进行封装,对 java类和 关系数据库进行mapping,实现了对关系数据库的面向对象方式的操作,改变了传统的jdbc + sql操作数据的方式,从而使开发人员可以话更多精力进行对象方面的开发 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 2:为什么要用Hibernate: 1. 对JD

2、BC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。 2. Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作 3. hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 3: 什么是Hibernate延迟加载? 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延

3、迟加载。4:Hibernate中类之间的关联关系有几种?(如:一对多、多对多的关系) many-to-one、one-to-many、many-to-many、 one-to-one5: 说下Hibernate的缓存机制 一、hibernate一级缓存(1)hibernate支持两个级别的缓存,默认只支持一级缓存;(2)每个Session内部自带一个一级缓存;(3)某个Session被关闭时,其对应的一级缓存自动清除;二、hibernate二级缓存(1) 二级缓存独立于session,默认不开启;6: Hibernate的查询方式 本地SQL查询、Criteria、Hql7: 如何优化Hibe

4、rnate? 1.使用双向一对多关联,不使用单向一对多 2.不用一对一,用多对一取代 8为什么要用Struts: 不用再考虑公共问题专心在业务实现上结构统一,易于学习、维护新手也可写出好程序 9:为什么要用spring? Spring是一个轻量级的IOC和AOP框架。 IOC(控制反转)意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转。AOP(面向切面),它将那些影响多个类的行为封装到可重用的模块中,面向对象是把问题从同类事物中抽象出来,面向切面是把问题从不同类问题中抽象出来。控制事务更方便。10. hibernate中get()与load()区别 1、 sessio

5、nget() 执行立即加载;sessionload执行延迟加载; 2、get()方法返回Student类的对象; load()方法返回Student的子类的对象(代理-替身); 3、final型的实体类,无法产生代理(替身);11. 写一段程序,使用spring API读取classpath下的一个xml文件,并解析 (1)Resource resource=new ClassPathResource(applicationContext.xml); BeanFactory factory=new XmlBeanFactory(resource);(2)ClassPathXmlApplicat

6、ionContext appcontext=new ClassPathXmlApplicationContext(applicationContext.xml); BeanFactory factory=(BeanFactory)appcontext;12. 使用Spring如何简化了Hibernate编码?通过org.springframework.orm.hibernate3.support.HibernateDaoSupport类支持数据库操作,且封装了事务.public class AccountDAO extends HibernateDaoSupport implements IA

7、ccountDAO13. 依赖注入的好处是?程序可扩展性更强;利于并行开发;14. “面向方面编程”的好处是?将程序中涉及的公共问题集中解决15. 如何配置一对多关联? 16、什么是ORM?答:对象关系映射(ObjectRelational Mapping,简称ORM)是一种为了解决面向对象与面向关系数据库存在的互不匹配的现象的技术;简单的说,ORM 就是将对象自动持久化到关系数据库中;17、什么是重量级?什么是轻量级?轻量级是指组件的创建和销毁不需要消耗太多的资源,而且底层依赖的支撑技术更少;重量级意味组件的创建会占用很多的资源,不能随意的创建和销毁它的实例,底层依赖更多的支撑技术。18、写

8、出你熟悉的开源框架以及各自的作用Spring是一个应用级框架,提供了IoC服务,可以整合不同的外部应用,同时,Spring的AOP提供了很好的面向方面编程,例如,对事务的处理等。并且,Spring推荐programming to interface方式,所有的IoC服务尽量要求使用面向接口设计。 Struts提供了一个MVC的实现.hibernate的作用简单的说就是对数据库的基本操作进行了封装19、.Hibernate 的应用步骤?答:/首先获得SessionFactory 的对象SessionFactory sessionFactory = new Configuration().conf

9、igure().buildSessionFactory();/然后获得session 的对象Session session = sessionFactory.openSession();/其次获得Transaction 的对象Transaction tx = session.beginTransaction();/执行相关的数据库操作:增,删,改,查session.save(user); /增加, user 是User 类的对象session.delete(user); /删除session.update(user); /更新Query query = session.createQuery(

10、“from User”); /查询List list = query.list();/提交事务mit();/如果有异常,我们还要作事务的回滚,恢复到操作之前tx.rollback();/最后还要关闭session,释放资源session.close();20、JSP 和Servlet 有哪些相同点和不同点,他们之间的联系是什么?答:JSP 是Servlet 技术的扩展,本质上是Servlet 的简易方式,更强调应用的外表表达。JSP 编译后是类servlet。Servlet 和JSP 最主要的不同点在于,Servlet 的应用逻辑是在Java 文件中,并且完全从表示层中的HTML 里分离开来。

11、而JSP 的情况是Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。21、详细描述MVC。答:基于Java 的Web 应用系统采用MVC 架构模式,即model(模型)、view(视图)、control(控制)分离设计;这是目前WEB 应用服务系统的主流设计方向。Model:即处理业务逻辑的模块,每一种处理一个模块;View:负责页面显示,显示MODEL 处理结果给用户,主要实现数据到页面转换过程;Control:负责每个请求的分发,把FORM 数据传递给MODEL 处理,把处理结果的数据传递给VIEW 显示。22、UML 是什

12、么?常用的几种图?1) UML 是统一建模语言。2) 常用图包括:用例图、活动图、类图、对象图、时序图、协作图、状态图等。23、你使用Rational XDE,常用来来做什么?答:描述自己的思路。(如:一个业务处理需要几个类,类中需要几个方法和属性,可以绘图描述,以便理解)24、编程题: 写一个Singleton出来。Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。一般Singleton模式通常有两种形式:饿汉式单例、懒汉式单例;饿汉式单例class Singleton /私有的构造;private Singleton()System.out.pri

13、ntln(Singleton构造.);private static Singleton instance = new Singleton();/提供一静态方法public static Singleton getInstance() return instance; class clientpublic static void main(String args)Singleton obj=Singleton.getInstance();obj=Singleton.getInstance();懒汉式单例class Singleton /私有的构造;private Singleton()Syste

14、m.out.println(Singleton构造.);private static Singleton instance = null;public static synchronized Singleton getInstance() /这个方法比饿汉有所改进,不用每次都进行生成对象,只是第一次使用时生成实例,提高了效率!if(instance=null)instancenew Singleton();return instance; class clientpublic static void main(String args)Singleton obj=Singleton.getInstance();obj

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号