ImageVerifierCode 换一换
格式:DOC , 页数:58 ,大小:457.50KB ,
资源ID:3551771      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3551771.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java面试题(内容覆盖率蛮全的).doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

java面试题(内容覆盖率蛮全的).doc

1、1Java 面试题(内容蛮全的)EJB1:EJB:答: Enterprise Java Bean 相当于 DCOM,即分布式组件。它是基于 Java 的远程方法调用(RMI)技术的,所以 EJB 可以被远程访问 (跨进程、跨计算机) 。但 EJB 必须被布署在诸如 Webspere、WebLogic 这样的容器中,EJB 客户从不直接访问真正的 EJB 组件,而是通过其容器访问。 EJB 容器是 EJB 组件的代理,EJB 组件由容器所创建和管理。客户通过容器来访问真正的 EJB 组件。答:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件 EJB 各

2、种管理功能。只要满足 J2EE 规范的 EJB 放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。RMI:(Remote Method Invocation)远程方法调用答:RMI(Remote Method Invocation,远程方法调用)是用Java 在JDK1.1 中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。

3、但是传统 RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。 2:EJB 种类、作用答: Entity Bean用于描述一个永久的对象。Session Bean描述任务或者工作流的模型,并且协调 Bean 之间的交互。Message-Driver Bean用在基于 J2EE 应用程序中处理异步 JMS 消息。3:实体 bean,CMP,BMP 写法区别?答:CMP entity bean 不需要在 bean 中编写数据库操作的代码;可以让容器做这件事。BMP entity bean 在 bean 类

4、中直接编写数据库调用,以及对固定存储的任意类型的访问,来管理 bean的持久性。4:Find 与 Select 方法的区别?答:Finder Select返回值单对象或者集合,是该 bean类型的 EJBObject(s),EJBLocalObject(s).单个或者多个(集合或集)对象.是该bean 类型或 CMR 相关类型 EJBObject(s)或 EJBLocalObject(s)也可能是 CMP(域),CMP 的集合或一个 CMR 域.声明位置在远程和/或本地 home 接口中 Bean 类中的抽象方法方法名FindXxx() EjbSelectXxxbean 类可见度公开给客户端

5、面向 entity bean 类内部,供其他 bean方法使用实例 Bean 池任意随机 bean 实例 当前实例,但若调用来自 home 方法,则为任意随机实例.5:主接口方法的定义与写法?2答: 生命周期方法 建方法-该方法的返回值是 bean 的组件接口,写法为 creatXxx无状态 session bean 必须个且仅有一个无参的创建方法.有状态 session bean 必须含有至少一个创建方法.Entity bean 可以有 0 至多个创建方法.Finder 方法-Finder 方法对于 entity bean 有效,通过它可以在数据库中查找到 entity bean 对应的持久

6、性数据.每一个entity bean 的 home 接口必须有一个 findByPrimaryKey 方法,并以实体的主键为参数.可以定制 Finder 方法.Home方法-Home 方法也仅对 entity bean 有效.Home 方法能够返回任意类型的序列化对象,但并不实际生成 bean 的实例.6:主接口与组件接口的区别?答: 主接口提供 EJB 客户端对 bean 的访问.定义了 bean 的生命周期方法 ,并提供了 bean 的基本生命周期管理功能,如创建,删除,查找.message drivern bean 不含有 home 接口.组件接口是由 enterprise bean 的

7、客户端用来取得bean 的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合 bean 类中的实现.7、JMS 消息传递的方式?答: 点到点(point-to-point)消息通过队列进行发送.发布与订阅(publish-and-subscribe,pub/sub)消息通过标题传递.8、EJB 客户端访问后台 EJB 的代码?答: p192,p1939、有状态 session bean 与无状态 session bean 的区别?答:stateful session bean 维护客户端会话状态.它们必须属于一个且只属于一个客户端 .激活/ 钝化,开销大.stateles

8、s session 不维护一个客户端的会话状态它们被放入实例池中,因此可被多个用户共用,开销小,效率高。10、本地视图与远程视图的区别?答: 远程视图-它的想法就是远程调用将在两台不同 JVM 之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个 JVM.本地视图-它的想法就是本地调用将在相同的 JVM 中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用 bean 上的服务,限制在本地实现中,而且不需要做到与位置无关 .11:CMT 事物属性Mandatory-当使用这个值时,bean 方法被调用时必须有一个事务已经处在运行中.Never-如果在现

9、有事务中调用此 bean,容器将抛出 java.rmi.RemotException.Required-bean 方法必须总是在事务上下文中执行.RequiresNew-当方法被调用的时候,bean 总会需要启动一个新的事务Supports 可以参与到正在运行的事务中,但这个事务并不是必须的.Not Supported-该值意味着在事务中 bean 或者方法根本不能被调用 .12:事务属性 ACID3答:原子性 一个事务要么完全执行,要么根本不执行。一致性 一个事务在它完成后不能留下系统的不一致性。隔离性 所有的事务不许允许在执行的时候不受其他进程或者事务的干涉。持久性 在事务期间,所有提交的

10、变更数据必须写入持久的数据存储器,并且应该能在硬件和软件失效中保存下来。13:实体 Bean 的三个状态:答: no-stateBean 实例还没有创建。pooled Bean 实例被创建,但还没有和一个 EJB Object 关联。ready 与 EJB Object 相关联。若断开关联则回到 pooled。14:JMS、JMS 消息模型答:Java Message Service(JMS)是一个 JAVA API,用来访问面向消息中间件(MOM)服务。JMS 为 Java 程序生成、发送、接收和读取异步消息提供通用的方法。JMS 模型:点到点和发布与订阅point-to-point消息通过

11、队列进行发送。消息由消息生产者( 客户端)放入队列中。消息消费者有责任从队列中取出消息。当给定的消息只能被给定的消费者接收时,使用 P2P。这种情况下,该给定信息只有一个消费者。Publish-and-subscribe(简称 pub/sub)消息通过标题传递。由生产者将消息发布为标题。消息可以被任何订阅该标题的消费者收到。通过这种方法,一个消息可以被多个消费者接收或处理。15:EJB 客户端类型答:Session bean servlet java 应用 Java Applet 非 Java 客户端16:ORM答:ORM 对象-关系映射(Object-Relation Mapping)模式是

12、指在单个组件中负责所有实体域对象的持久化,封装数据访问细节17:EJB 是基于哪些技术实现的? EJB 包括 Session Bean、Entity Bean、Message Driven Bean,基于 JNDI、RMI、JAT 等技术实现。18:说出 SessionBean 和 EntityBean 的区别SessionBean 在 J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他 EJB 组件。EntityBean 被用来代表应用系统中用到的数据。对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。对于客户机,Enti

13、tyBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。19:StatefulBean 和 StatelessBean 的区别。Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,这两种的 Session Bean 都可以将系统逻辑放在 method 之中执行,不同的是 Stateful Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的 Stateful Session Bean 的实体。Stateless

14、Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean 的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean 比较, Stateful Session Bean 会消

15、耗 J2EE Server 较多的内存,然而 Stateful Session Bean 的优势却在于他可以维持使用者的状态。20:EJB 与 JAVA BEAN 的区别?Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个Bean。但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat)的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。Java Bean 实际上相当于微软4COM 模型中的本地进程内

16、COM 组件,它是不能被跨进程访问的。Enterprise Java Bean 相当于 DCOM,即分布式组件。它是基于 Java 的远程方法调用(RMI)技术的,所以 EJB 可以被远程访问(跨进程、跨计算机) 。但EJB 必须被布署在诸如 Webspere、WebLogic 这样的容器中,EJB 客户从不直接访问真正的 EJB 组件,而是通过其容器访问。EJB 容器是 EJB 组件的代理,EJB 组件由容器所创建和管理。客户通过容器来访问真正的 EJB组件。21:EJB 包括(SessionBean,EntityBean )说出他们的生命周期,及如何管理事务的?SessionBean:St

17、ateless Session Bean 的生命周期是由容器决定的,当客户机发出请求要建立一个 Bean 的实例时,EJB 容器不一定要创建一个新的 Bean 的实例供客户机调用,而是随便找一个现有的实例提供给客户机。当客户机第一次调用一个 Stateful Session Bean 时,容器必须立即在服务器中创建一个新的 Bean 实例,并关联到客户机上,以后此客户机调用 Stateful Session Bean 的方法时容器会把调用分派到与此客户机相关联的 Bean 实例。EntityBean:Entity Beans 能存活相对较长的时间,并且状态是持续的。只要数据库中的数据存在,En

18、tity beans就一直存活。而不是按照应用程序或者服务进程来说的。即使 EJB 容器崩溃了,Entity beans 也是存活的。Entity Beans 生命周期能够被容器或者 Beans 自己管理。EJB 通过以下技术管理实务:对象管理组织(OMG)的对象实务服务(OTS) ,Sun Microsystems 的 Transaction Service(JTS) 、Java Transaction API(JTA ) ,开发组(X/Open)的 XA 接口。22EJB 有哪些角色和对象一个完整的基于 EJB 的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作

19、的工作必须遵循 Sun 公司提供的 EJB 规范,以保证彼此之间的兼容性。这六个角色分别是 EJB 组件开发者(Enterprise Bean Provider) 、应用组合者(Application Assembler) 、部署者(Deployer ) 、EJB 服务器提供者(EJB Server Provider) 、EJB 容器提供者(EJB Container Provider) 、系统管理员(System Administrator)三个对象是 Remote(Local)接口、Home (LocalHome )接口, Bean 类23EJB 容器提供的服务有哪些?主要提供声明周期管理

20、、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。24EJB 的几种类型会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean会话 Bean 又可分为有状态(Stateful)和无状态(Stateless)两种实体 Bean 可分为 Bean 管理的持续性( BMP)和容器管理的持续性(CMP )两种25EJB 需直接实现它的业务接口或 Home 接口吗,请简述理由。远程接口和 Home 接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。26在 J2EE 内,WAR 和

21、 EAR 文件分别代表什么。WAR:Web 归档;包含一个 web 工程所有组件的压缩文件。EAR:企业归档;包含一个企业应用所有组件的压缩文件。Hibernate1Hibernate 的检索方式 答:导航对象图检索 OID 检索 HQL 检索 QBC 检索 本地 SQL 检索2 Forward 与 Global-Forward 的区别答:Forward 是根据 Action return 的值找到对应的 JSP 页。当多个 Action 共同 return 同一个值时,可将这个 Forward 元素写在 Global-Forward 中。3持久化对象的三种状态,代表含义。答: 临时状态刚用

22、new 语句创建,未被持久化,不处于 session 的缓存中。持久化状态已经被持久化,处于 session 的缓存中。5游离态已经被持久化,但不处于 session 的缓存中。4、三种检索策略是什么,分别适用于哪种场合?答:立即检索优点:对应用程序完全透明,缺点:select 语句数目多。适用:类级别。延迟检索优点: 由应用程序决定加载哪些对象,可以避免执行多余的 select 语句以及避免加载不需要访问的对象,节省内存空间,提高检索效率。缺点: 应用程序如果要访问游离态的代理类实例,必须保证它在持久化时已经被初始化。适用: 一对多或多对多关联。应用程序不需要立即访问或者根本不会访问的对象。

23、迫切左外连接检索:优点:对应用程序完全透明,不管对象处于持久化状态还是游离状态,应用程序都可以方便的从一个对象导航到另一个与它相关联的对象。使用了外连接,select 语句数目少。缺点:可能会加载程序不许要访问的对象。复杂的数据库表连接形象检索性能。适用:一对一或多对一关联。应用程序需要立即访问的对象。数据库系统具有良好的表连接性能。4、ORM 解决的不匹配问题(域模型与关系模型之间存在的不匹配)答: 域模型是面向对象的,关系模型是面向关系的。域模型中有继承关系,关系模型中不能直接表示继承关系。域模型中有多对多关联关系,关系模型中通过连接表来表示多对多关联关系。域模型中有双向关联关系,关系模型

24、中只有单向参照关系,而且总是 many 参照 one 方。域模型提倡精粒度模型,关系模型提倡粗粒度模型。5、映射继承关系的三种方式?P 424答:(1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。(2)继承关系树的根类对应一张表:在根类对应的表中,不仅包括根类属性对应的字段,还包括根类的所有子类属性对应的字段。(3)继承关系树中的每个类对应一张表,每个表中只包括和这个类本身属性对应的字段,子类的表参照父类对应的表。6、Session 的 find()方法以及 Query 接口的区别。答案 Session 类的 fin

25、d()方法以及 Query 接口都支持 HQL 检索方式。这两者的区别在于,前者只是执行一些简单 HQL 查询语句的便捷方法,它不具有动态绑定参数的功能,而且在 Hibernate3.x 版本中,已经淘汰了find()方法;而 Query 接口才是真正的 HQL 查询接口,它提供了以上列出的各种查询功能。7ibernate 的配置文件 (hibernate.properties)中 hibernate.show_sql=true/flase在开发阶和测试段应设置为()在发布阶段应设置为() ;truefalse8映射一对多双向关联关系中设置 SET 元素:请写出级联保存和更新、级联删除应在 s

26、et 元素中需要设置那些子元素?(标明关系、避面重复执行多余 SQL 语句)Name cascade key column one-to-many inverse9list 要的实现类有那些? 并按照存储结构、机制简单的说一下。LinkedList、ArryList、Vector。LinkedList 采用链表数据结构、ArryList 代表大小可变的数组。Vector 与 ArryList 功能比较相似,区别在于 Vector 采用同步、ArryList 没有采用。10:以下哪个不是 Hibernate 的检索方式:A、导航对象图检索 B、OID 检索 C、ORM 检索D、QBC 检索 E、

27、本地 SQL 检索 F、HQL 检索6答案:C11.持久化类的类名是 Customer.java,写出相应的映射文件名 。答案:Customer.hbm.xml12.继承的三种方式(1)继承关系树的每个具体类对应一张表:在具体类对应的表中,不仅包含和具体类属性对应的字段,还包括与具体类的父类属性对应的字段。(2)继承关系树的根类对应一张表:在根类对应的表中,不仅包括根类属性对应的字段,还包括根类的所有子类属性对应的字段。(3)继承关系树中的每个类对应一张表,每个表中只包括和这个类本身属性对应的字段,子类的表参照父类对应的表。13. Session 接口是 Hibernate 应用使用最广泛的接

28、口。Session 也被称为持久化管理器,它提供了和持久化相关的操作,如添加、更新、删除、加载和查询对象。14.请简述 Session 的特点有哪些?答案:(1)不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个 Session 实例。(2)Session 实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁 Session 对象,例如为每个客户请求分配单独的 Session 实例,或者为每个工作单元分配单独的 Session 实例。(3)在 Session 中,每个数据库操作都是在一个事务 (transaction)中进行的,这样

29、就可以隔离开不同的操作(甚至包括只读操作) 。12、Hibernate 中采用 XML 文件来配置对象-关系映射的优点有那些?答案:Hibernate 既不会渗透到上层域模型中,也不会渗透到下层数据模型中。软件开发人员可以独立设计域模型,不必强迫遵守任何规范。数据库设计人员可以独立设计数据模型,不必强迫遵守任何规范。对象-关系映射不依赖于任何程序代码,如果需要修改对象-关系映射,只需修改 XML 文件,不需要修改任何程序,提高了软件的灵活性,并且使维护更加方便。13、在 Hibernate 应用中 Java 对象的状态有哪些?答案:1 临时状态(transient):刚刚用 new 语句创建,

30、还没有被持久化,不处于 Session 的缓存中。处于临时状态的Java 对象被称为临时对象。2 持久化状态(persistent):已经被持久化,加入到 Session 的缓存中。处于持久化状态的 Java 对象被称为持久化对象。3 游离状态(detached):已经被持久化,但不再处于 Session 的缓存中。处于游离状态的 Java 对象被称为游离对象。14、 叙述 Session 的缓存的作用答案:(1)减少访问数据库的频率。应用程序从内存中读取持久化对象的速度显然比到数据库中查询数据的速度快多了,因此 Session 的缓存可以提高数据访问的性能。(2)保证缓存中的对象与数据库中的

31、相关记录保持同步。当缓存中持久化对象的状态发生了变换,Session 并不会立即执行相关的 SQL 语句,这使得 Session 能够把几条相关的 SQL 语句合并为一条 SQL 语句,以便减少访问数据库的次数,从而提高应用程序的性能。15、 比较 Hibernate 的三种检索策略优缺点;答案:1 立即检索;优点:对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便的从一7个对象导航到与它关联的对象;缺点:1.select 语句太多;2.可能会加载应用程序不需要访问的对象白白浪费许多内存空间;2 延迟检索:优点:由应用程序决定需要加载哪些对象,可以避免可执行多余的 s

32、elect 语句,以及避免加载应用程序不需要访问的对象。因此能提高检索性能,并且能节省内存空间;缺点:应用程序如果希望访问游离状态代理类实例,必须保证他在持久化状态时已经被初始化;3 迫切左外连接检索优点:1 对应用程序完全透明,不管对象处于持久化状态,还是游离状态,应用程序都可以方便地冲一个对象导航到与它关联的对象。2 使用了外连接,select 语句数目少;缺点:1 可能会加载应用程序不需要访问的对象,白白浪费许多内存空间;2 复杂的数据库表连接也会影响检索性能;16、 多个事务并发运行时的并发问题有哪些?答案 第一类丢失更新;脏读;虚读;不可重复读;第二类丢失更新;17、ORM 解决的不

33、匹配问题(域模型与关系模型之间存在的不匹配)答: 域模型是面向对象的,关系模型是面向关系的。域模型中有继承关系,关系模型中不能直接表示继承关系。域模型中有多对多关联关系,关系模型中通过连接表来表示多对多关联关系。域模型中有双向关联关系,关系模型中只有单向参照关系,而且总是 many 参照 one 方。域模型提倡精粒度模型,关系模型提倡粗粒度模型。18、session 的清理和清空有什么区别?session 清理缓存是指按照缓存中对象的状态的变化来同步更新数据库;清空是 session 关闭;19.请简述 Session 的特点有哪些?答案:(1)不是线程安全的,因此在设计软件架构时,应该避免多

34、个线程共享同一个 Session 实例。(2)Session 实例是轻量级的,所谓轻量级是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁 Session 对象,例如为每个客户请求分配单独的 Session 实例,或者为每个工作单元分配单独的 Session 实例。(3)在 Session 中,每个数据库操作都是在一个事务 (transaction)中进行的,这样就可以隔离开不同的操作(甚至包括只读操作) 。20. 如下图 A、B、C 请 添上字段,通过 表 C 建立 表 A 、表 B 的双向关系 (要求简单连线) 表 B 表 A 表 C 8Jsp获取 Session

35、变量:session.getAttribute(“name”);b、地址方式传递:show.jsp?id=变量值23、内置对象的作用域分为 4 种:答:a、page 当前页面。b、session 同一个网站内。c、request 从上一页到下一个页面。d、application 同一个网站内。24、获取 session ID: ;判断 session 是否有效:session.isNew(); 25、使用 Cookie 对象答:Cookie ck=new Cookie(“name”,”sist”);写入:response.addCookie(ck);读取:Cookie ck=request.getCookies();

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。