Java面试小知识(7)

2019-04-16 17:44

会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean 会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种

实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种 3、bean 实例的生命周期

对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。 4、激活机制

以Statefull Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。 5、remote接口和home接口主要作用

remote接口定义了业务方法,用于EJB客户端调用业务方法 home接口是EJB工厂用于创建和移除查找EJB实例 6、客服端调用EJB对象的几个基本步骤

(1) 设置JNDI服务工厂以及JNDI服务地址系统属性 (2) 查找Home接口

(3) 从Home接口调用Create方法创建Remote接口 (4) 通过Remote接口调用其业务方法

五、数据库

1、存储过程的编写

2、基本的SQL语句

六、weblogic

1、 如何给weblogic指定大小的内存?

在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M 2、 如何设定的weblogic的热启动模式(开发模式)与产品发布模式?

可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。 3、 如何启动时不需输入用户名与密码? 修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码. 4、 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中?

保存在此Domain的config.xml文件中,它是服务器的核心配置文件。 5、 说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办?

Domain目录\\服务器目录\\applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。 6、 如何查看在weblogic中已经发布的EJB?

可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB

7、 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置

缺省安装中使用DemoIdentity.jks和DemoTrust.jks KeyStore实现SSL,需要配置服务器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。 8、在weblogic中发布ejb需涉及到哪些配置文件

不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml

9、EJB需直接实现它的业务接口或Home接口吗,请简述理由.

远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。

10、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别

persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。 11、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法 Session Facade Pattern:使用SessionBean访问EntityBean Message Facade Pattern:实现异步调用

EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问 Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性 Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性

Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性

EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性

复习:

1、原子类型有哪些?

数组不属于原子类型; 原子类型属于内建对像;

2、为什么要为原子类型对应一个包装类?

原子类都有包装类; 3、java的包在哪里? 一个目录体系就是包; Jar文件就是一个目录体系。 4、怎样生成一个java包?

5、包的根目录在哪里? echo %classpath%

6、怎样避免类名重复的问题? 把文件放在一个包下,采用域名倒置法 7、类与对象是什么关系? 类是等待着去实例化的一个模板; 类—对象 1 :N static 永久存在,永远只有一个; 8、为什么说对象的引用不是对象本身?

在程序中永远不可能拿到对像,拿到的只是对象的一个引用; 一个引用“=”另一个引用,就是用另一个引用的值来覆盖它; 9、如何复制一个对象? 机械复制;克隆;

10、面向对象的3大特征是什么?

1、 封装 2、 继承 3、多态

11、为什么要封装? 封装的目的:(1)怕破坏 (2)改结构 12、如何理解this引用? this就是一个对象的引用; this就是目前正在执行这项任务(这个方法)的那个对象; 13、this引用有何作用? this在重名的时候,无法区分的时候; 测试传进来的参数是不是自己; 14、静态方法有什么特征?

1、如果一个函数前面用了static,不用对象就可以调用;static没有this指针,不能调用非static的方法;

与对象无关的,可以单独执行; static 只有一份,是公共的。 15、可以从多个父类继承吗? 不可以。Java里是单根继承;

16、子类可以访问父类的哪些东西? 17、哪种现象称为多态? 站在抽象的高度来设计程序; 18、多态的目的是什么? 能站在抽象的高度来考虑问题; 19、抽象方法有什么用? 定义抽象方法就是为了继承; 20、什么是抽象类? 21、什么是接口? 22、接口有什么用处? 约定了函数名;实现的接口越多,适应能力就越强; 23、什么是内部类?

24、使用内部类有什么好处? 25、什么是匿名类? 是普通类的简单写法。

26、Java为了支持数据结构,提供了哪些接口? 27、Set接口与List接口有哪些共同的特征? 28、Map接口怎样描述一对多的关系? 为了确定两个物体间的关系;把Set和Map联合起来 29、为什么java定义那么多关于流的类? 观点不同;

基本元素的类型不同; 字节,char;int;double 串

30、如何流化(序列化)一个对象 把一个对象折成了一个个的字节,再把字节合成一个对像; 31、线程与进程有什么区别? 最主要的是:是否共享内存; 线程是共享内存的; 32、为什么要使用线程? 为了均匀响应;

33、使用线程能提高效率吗? 不会;线程不可能提高效率; 34、如何创建线程?

1)、extends Thread 2)、implements Runnable 35、如何在线程中实现排斥? synchronized

36、何为线程安全对象?

37、什么叫线程协作?如何实现? 38、hashCode? 散列表是最快的查找方式; 散列存是为了最快的查找;

总结:

■final

◆ 修饰的变量

类中声明为final的变量,有两种初始化方式: 1、声明时就初始化。

2、2。在类的构造方法中初始化

初始化以后就不能在修改了 ◆ 修饰的方法

不能被子类重写,但可以被本类方法重载 ◆ 修饰类

我不会继承这个类,

◆ 修饰的变量

类中声明为static的变量,在类的第一次实例化就存在于内存,以后的实例化就不会重复产生内存空间了

■static final◆ 共同声明的成员属性,在申明时就要初始化。 `

◆ 类中的成员属性

可以被包内包外的的类的实例化对象方法使用(类A中有public方法,类B和A在同一包中,类B通过在自己的实例化对象的方法中在申明类A的对象对类A的方法进行调用)

■protected ◆类中的成员属性 ■public

◆ 修饰的方法

只能操作本类的静态成员属性

■static


Java面试小知识(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:楠博苑5期C标段安居工程土石方开挖方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: