Java高级学习总结.doc_第1页
Java高级学习总结.doc_第2页
Java高级学习总结.doc_第3页
Java高级学习总结.doc_第4页
Java高级学习总结.doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Hibernate1、持久化对象的三种状态,代表含义。答: 临时状态刚用new语句创建,未被持久化,不处于session的缓存中。持久化状态已经被持久化,处于session的缓存中。游离态已经被持久化,但不处于session的缓存中。2、三种检索策略是什么,分别适用于哪种场合?答:立即检索优点:对应用程序完全透明,不管对象处于持久化状态还是游离状态,应用程序都可以方便的从一个对象导航到另一个与它相关联的对象。 缺点:select语句数目多。可能会加载应用程序不需要访问的对象,浪费内存空间。适用:类级别。应用程序需要立即访问的对象。使用了第二级缓存。延迟检索优点: 由应用程序决定加载哪些对象,可以避免执行多余的select语句以及避免加载不需要访问的对象,节省内存空间,提高检索效率。缺点: 应用程序如果要访问游离态的代理类实例,必须保证它在持久化时已经被初始化。适用: 一对多或多对多关联。应用程序不需要立即访问或者根本不会访问的对象。迫切左外连接检索:优点:对应用程序完全透明,不管对象处于持久化状态还是游离状态,应用程序都可以方便的从一个对象导航到另一个与它相关联的对象。使用了外连接,select语句数目少。缺点:可能会加载程序不许要访问的对象。复杂的数据库表连接形象检索性能。适用:一对一或多对一关联。应用程序需要立即访问的对象。数据库系统具有良好的表连接性能。3、ORM解决的不匹配问题(域模型与关系模型之间存在的不匹配)答: 域模型是面向对象的,关系模型是面向关系的。域模型中有继承关系,关系模型中不能直接表示继承关系。域模型中有多对多关联关系,关系模型中通过连接表来表示多对多关联关系。域模型中有双向关联关系,关系模型中只有单向参照关系,而且总是many参照one方。域模型提倡精粒度模型,关系模型提倡粗粒度模型。4、映射继承关系的三种方式?P 424答:(1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。 (2)继承关系树的根类对应一张表:在根类对应的表中,不仅包括根类属性对应的字段, 还包括根类的所有子类属性对应的字段。 (3)继承关系树中的每个类对应一张表,每个表中只包括和这个类本身属性对应的字段,子类的表参照父类对应的表。Struts1、FormBean的作用答:FormBean是一种JAVABean,除了具有JAVABean的常规方法,还包含一些特殊方法,用于验证表单数据,以及将其属性重新设置为默认值。 FormBean用来进行View组件和Controller组件之间表单数据的传递。View组件接收到用户输入的表单数据,保存在FormBean中,把它传递给Controller组件,Controller组件可以对FormBean中的数据进行修改。2、Forward与Global-Forward的区别答:Forward是根据Action return的值找到对应的JSP页。 当多个Action共同return同一个值时,可将这个Forward元素写在Global-Forward中。EJB1、EJB种类、作用答:Entity Bean用于描述一个永久的对象。 Session Bean描述任务或者工作流的模型,并且协调Bean之间的交互。 Message-Driver Bean用在基于J2EE应用程序中处理异步JMS消息。2、实体bean,CMP,BMP写法区别?答:CMP entity bean不需要在 bean中编写数据库操作的代码;可以让容器做这件事。BMP entity bean在bean类中直接编写数据库调用,以及对固定存储的任意类型的访问,来管理bean的持久性。3、Find与Select方法的区别?答:FinderSelect返回值单对象或者集合,是该bean类型的EJBObject(s),EJBLocalObject(s).单个或者多个(集合或集)对象.是该bean类型或CMR相关类型EJBObject(s)或EJBLocalObject(s)也可能是CMP(域),CMP的集合或一个CMR域.声明位置在远程和/或本地home接口中Bean类中的抽象方法方法名FindXxx()EjbSelectXxxbean类可见度公开给客户端面向entity bean类内部,供其他bean方法使用实例Bean池任意随机bean实例当前实例,但若调用来自home方法,则为任意随机实例.4、主接口方法的定义与写法?答:生命周期方法 建方法-该方法的返回值是bean的组件接口,写法为creatXxx无状态session bean必须个且仅有一个无参的创建方法.有状态session bean必须含有至少一个创建方法.Entity bean可以有0至多个创建方法.Finder方法-Finder方法对于entity bean有效,通过它可以在数据库中查找到entity bean对应的持久性数据.每一个entity bean的home接口必须有一个findByPrimaryKey方法,并以实体的主键为参数.可以定制Finder方法.Home方法-Home方法也仅对entity bean有效.Home方法能够返回任意类型的序列化对象,但并不实际生成bean的实例.5、主接口与组件接口的区别?答:主接口提供EJB客户端对bean的访问.定义了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如创建,删除,查找.message drivern bean不含有home接口.组件接口是由enterprise bean的客户端用来取得bean的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合bean类中的实现.6、JMS消息传递的方式?答:点到点(point-to-point)消息通过队列进行发送.发布与订阅(publish-and-subscribe,pub/sub)消息通过标题传递.7、EJB客户端访问后台EJB的代码?答:p192,p1938、有状态session bean与无状态session bean的区别?答:stateful session bean维护客户端会话状态.它们必须属于一个且只属于一个客户端.激活/钝化,开销大.stateless session不维护一个客户端的会话状态它们被放入实例池中,因此可被多个用户共用,开销小,效率高。9、本地视图与远程视图的区别?答:远程视图-它的想法就是远程调用将在两台不同JVM之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个JVM.本地视图-它的想法就是本地调用将在相同的JVM中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用bean上的服务,限制在本地实现中,而且不需要做到与位置无关.11、事务属性ACID答:原子性 一个事务要么完全执行,要么根本不执行。 一致性 一个事务在它完成后不能留下系统的不一致性。 隔离性 所有的事务不许允许在执行的时候不受其他进程或者事务的干涉。 持久性 在事务期间,所有提交的变更数据必须写入持久的数据存储器,并且应该能在硬件和软件失效中保存下来。Extra1、实体Bean的三个状态:答: no-stateBean实例还没有创建。 pooled Bean实例被创建,但还没有和一个EJB Object关联。ready 与EJB Object相关联。若断开关联则回到pooled。2、JMS、JMS消息模型答:Java Message Service(JMS)是一个JAVA API,用来访问面向消息中间件(MOM)服务。JMS为Java程序生成、发送、接收和读取异步消息提供通用的方法。 JMS模型:点到点和发布与订阅point-to-point消息通过队列进行发送。消息由消息生产者(客户端)放入队列中。消息消费者有责任从队列中取出消息。当给定的消息只能被给定的消费者接收时,使用P2P。这种情况下,该给定信息只有一个消费者。Publish-and-subscribe(简称pub/sub)消息通过标题传递。由生产者将消息发布为标题。消息可以被任何订阅该标题的消费者收到。通过这种方法,一个消息可以被多个消费者接收或处理。3、EJB客户端类型答:Session bean servlet java应用 Java Applet 非Java客户端4、ORM答:ORM对象-关系映射(Object-Relation Mapping)模式是指在单个组件中负责所有实体域对象的持久化,封装数据访问细节5、Hibernate的检索方式 P 281答:导航对象图检索 OID检索 HQL检索 QBC检索 本地SQL检索实体bean,CMP,BMP写法区别?答:CMP entity bean不需要在 bean中编写数据库操作的代码;可以让容器做这件事。BMP entity bean在bean类中直接编写数据库的调用。Find与Select方法的区别?答:FinderSelect返回值单对象或者集合,是该bean类型的EJBObject(s),EJBLocalObject(s).单个或者多个(集合或集)对象.是该bean类型或CMR相关类型EJBObject(s)或EJBLocalObject(s)也可能是CMP(域),CMP的集合或一个CMR域.声明位置在远程和/或本地home接口中Bean类中的抽象方法方法名FindXxx()EjbSelectXxxbean类可见度公开给客户端面向entity bean类内部,供其他bean方法使用实例Bean池任意随机bean实例当前实例,但若调用来自home方法,则为任意随机实例.主接口方法的定义与写法?答:生命周期方法 建方法-该方法的返回值是bean的组件接口,写法为creatXxx无状态session bean必须个且仅有一个无参的创建方法.有状态session bean必须含有至少一个创建方法.Entity bean可以有0至多个创建方法.Finder方法-Finder方法对于entity bean有效,通过它可以在数据库中查找到entity bean对应的持久性数据.每一个entity bean的home接口必须有一个findByPrimaryKey方法,并以实体的主键为参数.可以定制Finder方法.Home方法-Home方法也仅对entity bean有效.Home方法能够返回任意类型的序列化对象,但并不实际生成bean的实例.主接口与组件接口的区别?答:主接口提供EJB客户端对bean的访问.定义了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如创建,删除,查找.message drivern bean不含有home接口.组件接口是由enterprise bean的客户端用来取得bean的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合bean类中的实现.本地视图与远程视图的区别?答:远程视图-它的想法就是远程调用将在两台不同JVM之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个JVM.本地视图-它的想法就是本地调用将在相同的JVM中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用bean上的服务,限制在本地实现中,而且不需要做到与位置无关.JMS消息传递的方式?答:点到点(point-to-point)消息通过队列进行发送.发布与订阅(publish-and-subscribe,pub/sub)消息通过标题传递.有状态session bean与无状态session bean的区别?答:s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论