- 浏览: 54938 次
- 性别:
- 来自: 北京
文章分类
最新评论
Hibernate工作原理及为什么要用? 原理: 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的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。 2. Hibernate是如何延迟加载? 1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载,他节省了服务器的内存开销,从而提高了服务器的性能。 3. Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 类与类之间的关系主要体现在表与表之间的关系进行操作,它们都市对对象进行操作,我们程序中把所有的表与类都映射在一起,它们通过配置文件中的many-to-one、one-to-many、many-to-many、 4. 说下Hibernate的缓存机制 1. 内部缓存存在Hibernate中又叫一级缓存,属于应用事物级缓存 2. 二级缓存: a) 应用及缓存 b) 分布式缓存 条件:数据不会被第三方修改、数据大小在可接受范围、数据更新频率低、同一数据被系统频繁使用、非 关键数据 c) 第三方缓存的实现 5. Hibernate的查询方式 Sql、Criteria,object comptosition Hql: 1、 属性查询 2、 参数查询、命名参数查询 3、 关联查询 4、 分页查询 5、 统计函数 6. 如何优化Hibernate? 1. 使用双向一对多关联,不使用单向一对多 2. 灵活使用单向一对多关联 3. 不用一对一,用多对一取代 4. 配置对象缓存,不使用集合缓存 5. 一对多集合使用Bag,多对多集合使用Set 6. 继承类使用显式多态 7. 表字段要少,表关联不要怕多,有二级缓存撑腰 7. Struts工作机制?为什么要使用Struts? 工作机制: 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组件生成动态网页,返回给客户; 为什么要用: JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。 基于Struts开发的应用由3类组件构成:控制器组件、模型组件、视图组件 8. Struts的validate框架是如何验证的? 在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。 9. 说下Struts的设计模式 MVC模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm对象被创建,并被填入表单相应的数据,ActionServler根据Struts-config.xml文件配置好的设置决定是否需要表单验证,如果需要就调用ActionForm的Validate()验证后选择将请求发送到哪个Action,如果Action不存在,ActionServlet会先创建这个对象,然后调用Action的execute()方法。Execute()从ActionForm对象中获取数据,完成业务逻辑,返回一个ActionForward对象,ActionServlet再把客户请求转发给ActionForward对象指定的jsp组件,ActionForward对象指定的jsp生成动态的网页,返回给客户。 单例模式 Factory(工厂模式): 定义一个基类===》实现基类方法(子类通过不同的方法)===》定义一个工厂类(生成子类实例) ===》开发人员调用基类方法 Proxy(代理模式) 10. spring工作机制及为什么要用? 1.spring mvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。 2.DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller. 3.DispatcherServlet请请求提交到目标Controller 4.Controller进行业务逻辑处理后,会返回一个ModelAndView 5.Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 6.视图对象负责渲染返回给客户端。 为什么用: {AOP 让开发人员可以创建非行为性的关注点,称为横切关注点,并将它们插入到应用程序代码中。使用 AOP 后,公共服务 (比 如日志、持久性、事务等)就可以分解成方面并应用到域对象上,同时不会增加域对象的对象模型的复杂性。 IOC 允许创建一个可以构造对象的应用环境,然后向这些对象传递它们的协作对象。正如单词 倒置 所表明的,IOC 就像反 过来的 JNDI。没有使用一堆抽象工厂、服务定位器、单元素(singleton)和直接构造(straight construction),每一个对象都是用 其协作对象构造的。因此是由容器管理协作对象(collaborator)。 Spring即使一个AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替换对象。有了 Spring,只要用 JavaBean 属性和配置文件加入依赖性(协作对象)。然后可以很容易地在需要时替换具有类似接口的协作对象。}
发表评论
-
经典面试题
2011-11-22 23:21 661一、请你自我介绍一下 ... -
往年汤森路透上机题
2011-11-15 09:23 1377c++类:main()的标准形式? 在最新的 C99 标准中 ... -
什么是索引?索引有哪几种?
2011-11-10 16:01 1425索引用来快速地寻找那些具有特定值的记录,所有MySQL索引 ... -
Struts 的工作原理
2011-11-06 22:49 846Struts1的流程 服务器启动后,根据web.xml加载A ... -
Java版二叉树遍历非递归程序
2011-10-24 08:18 1029Binary.java import java.util ... -
android 面试题经典
2011-10-22 00:34 6061、 Android dvm的进程和Linux的进程, 应 ... -
恼人的设计模式
2011-10-15 23:20 627最近参加面试,总是被问到设计模式的问题。本人作为一个实用派 ... -
链表相关面试题
2011-10-06 10:46 788题一、 给定单链表,检 ... -
二叉树的算法
2011-10-04 17:37 1933声明,本文所有11道算法题目,覆盖了基本上所有常见的二叉树 ... -
百度2011笔试题
2011-09-27 11:00 7042011年校园招聘笔试题(一) (测试题目答题时间90分钟, ... -
约瑟夫环问题
2011-09-23 16:08 993在一只热气球上有15个日本人和15个美国人,由于热气球超重,必 ... -
联发科技笔试题
2011-09-23 10:20 1129public class Dims { /** ... -
往年EMC编程题答案
2011-09-22 14:24 6921 Write a function to find the ... -
“火柴棍式”程序员面试题
2011-09-21 22:18 937“火柴棍式”程序员面试题 2011年03月21日 星期一 ... -
华为机考
2011-09-21 16:39 15231. 判断回文 public class Huiwen { ... -
求最长的回文字符串
2011-09-21 16:28 1648程序:输入:一行字符串,输出:最长的回文字符的长度以及把它们 ... -
Java的GC工作原理
2011-09-05 15:45 654GC的基本原理 Java的内存管理实际上就是对象 ... -
String 转 Date
2011-08-12 15:32 696DateFormat format = new SimpleD ... -
对于JAVA基础知识精华总结
2011-07-26 13:58 6341、 对象的初始化 (1) 非静态对象的初始化 ... -
讨论关于Java占用内存的研究
2011-07-26 13:55 615最近对程序占用内存方面做了一些优化,取得了不错的效果,总结了一 ...
相关推荐
SSH面试题总结涵盖了三个主要的开源框架:Struts、Spring和Hibernate。这些框架在Java Web开发中起着至关重要的作用,帮助开发者更高效地管理和组织应用程序的各个层面。 首先,让我们来看看Hibernate,这是一个...
SSH 面试题总结 本总结涵盖了 SSH 面试的常见问题,涵盖了 Hibernate、Struts 和 Spring 等技术。以下是详细的知识点: Hibernate 1. Hibernate 工作原理及为什么要用? Hibernate 通过对 JDBC 进行封装,对 ...
SSH面试题总结主要涵盖Spring、Struts和Hibernate这三个框架的核心概念和整合应用。Spring作为一款企业级应用框架,它的核心组件、AOP(面向切面编程)和IOC(控制反转)理念是面试中的常见问题。 Spring的工作机制...
SSH面试题通常涉及对SSH协议的理解、配置、安全实践以及问题排查等多个方面。以下是一些可能的SSH面试题及相关的知识点: 1. **SSH基础概念:** - SSH如何保证通信的安全性?它采用了什么加密算法? - 什么是公钥...
### JavaWEB开发SSH面试题总结 #### 领域知识点概览 - **Hibernate工作原理及为什么使用** - **Hibernate的延迟加载** - **Hibernate中类之间的关联关系** - **Hibernate缓存机制** - **Hibernate的查询方式** - *...
SSH面试题涵盖了Java、Struts、Hibernate等核心Java Web开发技术。以下是针对这些面试题的详细解答: 1. **Hibernate工作原理及为何使用**: Hibernate通过封装JDBC,实现了对象关系映射(ORM),使得开发人员可以...
在IT行业的面试中,尤其是Java Web开发领域,SSH(Struts、Hibernate、Spring)框架是常见的话题。以下是对这些框架的一些关键知识点的详细说明: **Struts** Struts是一个开源的MVC(Model-View-Controller)框架...
以下是对SSH面试题的详细解释: 1. **Hibernate工作原理及为什么使用**: Hibernate是一个ORM(对象关系映射)框架,通过将Java类与数据库表进行映射,简化了数据库操作。其工作流程包括:读取配置文件,解析映射...
这份面试题总结主要关注的是Struts2的部分,同时也提及了MVC设计模式和相关的框架概念。 Struts2是Model2架构的一个典型代表,它基于MVC模式,其中Servlet作为控制器,JavaBeans作为模型,而JSP则扮演视图的角色。...
以下是对SSH面试题的详细解析,以及与SSH相关的源码和工具的知识点。 1. **SSH基本概念** - SSH的全称是Secure Shell,它为网络服务提供加密的安全通信通道。 - SSH主要用作命令行接口(CLI)远程登录,但也可...
SSH是Java企业级开发中非常重要的三个框架:...通过复习SSH面试题总结和文档,可以进一步巩固和提升对SSH框架的理解。同时,对Hibernate的事务处理机制进行深入学习,有助于在实际开发中更好地处理数据一致性问题。
总结来说,SSH面试题涵盖的内容广泛,包括MVC设计模式的理解,Struts1和Struts2的对比,SSH框架在项目中的作用,以及Struts实现国际化的方法等。这些知识点体现了Java Web开发中的核心技术和最佳实践。
### SSH面试题全面总结知识点详解 #### 一、Hibernate工作原理及使用原因 **原理:** 1. **读取并解析配置文件**:首先,Hibernate会读取`hibernate.cfg.xml`等配置文件,从中获取数据库连接信息、日志框架配置等...
【Java面试题】 Java面试题通常涵盖Java语言的基础知识、进阶特性、多线程、集合...通过阅读"java面试题.doc"、"ssh面试题总结.doc"和"逻辑测试题1.doc"等文档,可以针对性地进行复习和练习,提高面试成功的可能性。
以下是对SSH面试题中涉及的一些核心知识点的详细解释: 1. **Hibernate 工作原理** Hibernate 的工作流程主要包括: - 读取`hibernate.cfg.xml`配置文件,创建`Configuration`实例,加载类映射信息。 - `...
根据给定文件的信息,我们可以总结出以下关于Struts、Hibernate、Spring的经典面试题知识点: ### 一、Java集合框架 Java集合框架主要包括`Collection`和`Map`两大类。 - **Collection**: 包括`List`和`Set`两种...