没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1、 概述 struts,以及 struts 如何实现 MVC 架构的?
答:struts framework 是一种基于 java 的技术,Web 应用程序开发人
员通过 struts framework 即可充分利用面向对象设计、代码重用以及
“编写一次、到处运行”的优点。Struts 提供了一种创建 Web 应用程
序的框架,其中对应用程序的显示、表示和数据的后端代码进行了
抽象。Struts 采用 jsp 作为 MVC 的视图, 由 ActionServlet 具体指定的
action 动作类作为控制器即 MVC 中的 C,负责视图与模型之间的交
互。控制器的每个入口点都由名为 struts-config.xml 的配置文件设置。
该文件把来自视图的请求映射为特定的 JAVA 类以进行相应的处理,
控制器还指定下一个视图的位置。 Struts 中的模型主要指的就是
javabean,它是模型的代表,主要封装数据和业务逻辑。
Struts 的处理流程:
1 控制器进行初始化工作,读取配置文件,为不同的 Struts 模块初
始化相应的 ModulConfig 对象。
2 控制器接收 Http 请求,并从 ActionConfig 中找出对应于该请求的
Action 子类,如果没有对应的 Action,控制器直接将请求转发给
JSP 或者静态页面,否则控制器将请求分发至具体的 Action 类进行
处理。
3 在控制器调用具体的 Action 的 Execute 方法之前,ActionForm 对
象将利用 Http 请求中的参数来填充自已。还可以在 ActionForm 类
中调用 Validate 方法来检查请求参数的合法性,并且可以返回一个
包含所有错误信息的 ActionErrors 对象。
4 执行具体的的 Execute 的方法,它负责执行相应的业务逻辑。执
行 完 后 , 返 回 一 个 ActionForward 对 象 , 控 制 器 通 过 该
ActionForward 对象来进行转发工作。也可以把 Action 要处理的业
务 逻 辑 封 装 在 JavaBean 中 , 如 果 系 统 中 还有 EJB , 那 么 通 过
JavaBean 调用 EJB 以完成业务处理;如果没有 EJB,那么就直接在
JavaBean 中连接数据库,进行数据库相关的操作。
**********************************************************
*********************
2、 概述 MVC 体系结构
答 : MVC 包 括 三 类 对 象 , model 是 应 用 对 象 , view 是 视 图 ,
controller 是控制器,它定义用户界面对用户输入的响应方式。
在 MVC 体系中,模型通常被称为“业务逻辑”,是真正完成任务的
代码,视图就是使用界面,反映数据的变化。控制器控制着模型和
视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过
界面输入的信息以及选择处理输入信息的模型
在 MVC 中,表示层和逻辑层分离,各部分可相互独立进行开发,
便于开发和维护,提高了开发效率。
3、 多线程的优点
答:可分两方面来答:
? 相对于单线程而言 :
可以响应多任务的并发操作。
多线程取消了主循环和轮流检测机制,一个线程可以暂停而不阻止
系统其他的部分的执行,而且当程序中一个线程阻塞时,只有那个
被阻塞的线程暂停,所有其他的线程继续执行。
? 相对于进程而言:(可以答也可以不答)
它所要求的开销比较小,转换成本较小。
所有线程共享同一地址空间,相互协作。
彼此之间通信很容易。
4、 EJB 概述
答:EJB 是企业级的 JavaBean,它提供了构建企业级业务逻辑的一
种组件模型。
/// EJB 分为三种:Session Bean/ Entity Bean/ Message-Driven Bean 三
种,其中 Session Bean 分为有状态和无状态 Session Bean 两种,Entity
Bean 分为容器管理的 Entity Bean ( CMP ) 和 Bean 管理的 Entity
Bean ( BMP )。每一个 EJB 由一个远程接口、一个本地接口和一个
EJB 容器实现组成,远程接口声明了提供给 EJB 客户调用的各种应
用方法,本地接口声明了创建新的 EJB 实例的 create 方法、寻找
EJB 实例的查找(finder)方法以及刪除 EJB 实例的 remove 方法。EJB
容器提供了 EJB 的运行环境和生命周期的管理。
4、 用 java 访问 Oracle 数据库、取得记录并输出到界面
答:……………………..
// Class.forName(“oracle.jdbc.driver.OracleDriver”);
// Connection conn=DriverManager.getConnection( url , username ,
password );
// Statement stmt=conn.createStatement();
// String str=”select * from/ ”;
// ResultSet rs=stmt.executeQuery(str);
// While(rs.next())
// {
//// ……………………
// }
// rs.close();
// stmt.close();
// conn.close();
5、 概述 java 垃圾回收机制
答:它的工作原理如下:
/// 当不存在对一个对象的引用时,我们就假定不再需要那个对象,
那个对象所占有的存储单元可以被收回,可通过 System.gc()方法回
收,但一般要把不再引用的对象标志为 null 为佳。
6、 java 类是否可以多继承,怎么实现多继承?
答:java 没有多继承,但可以通过接口的形式来达到多继承的目地 。
7、 面向对象的特点
答:面向对象有三大特点:封装、继承、多态。(如果要回答四个,
可加上 抽象性 这一特点)
9、接口有什么优点
答:接口有以下优点:
1 接口只是一个框架而没有实现,因此在接口定义时不需要考虑接
口中的方法如何实现。
2 利用接口可达到实现多继承的目地。
3 可以在不暴露对象的类的前提下,暴露对象的编程接口。
4 不用强迫类关系在无关类中截获相似处(采用适配器就可以了)。
5 声明想执行的一个或多个方法。
10、 ArrayList 与 Vector 的区别
答:主要从两个方面来说明:
? 安全、效率方面
J2EE 面试题 1
如果要实现同步安全,则要用 Vector,否则则用 ArrayList,因为
ArrayList 不考虑同步安全的问题,所以效率要高些。
? 资源方面
当两者的容量已满时,它们都会自动增长其容量,但 Vector 是按其
容量的一倍增长,而 ArrayList 则按其容量的 50%增加,所以 Vector
更能节省资源。
11、MVC 结构在 Jtable 中怎样实现的,这种结构有什么好处?
答、在 Jtable 中不存储它的单元数据,它的所有实例把它们的单元
值交给实现了 TableModel 接口的对象来维护和管理,所以在 MVC
结构中,Jtable 的表格主要体现了一个 V 的作用,其表格将数据变
化体现出来,而数据模型则体现了 M 的作用,封装数据和业务逻辑。
注:详细解说见第二题
12、在控制台中输入一个字符串,然后按照逆序打印出来
答:import java.io.*;
//
public/ class/ test{
public static void main(String args[]){
/// String A=””;
/// String B=””;
/// String C=””;
/// try{
////// BufferedReader br=new BufferedReader(new
InputStreamReader(System.in));
////// If ((B=br.readLine())!=null){
///////// A=A+B;
////// }
/////
////// for(int I=A.length()-1;I>=0;I--){
///////// C=C+A.substring(I,I+1);
}
System.out.println(C);
/// }
/// catch(Exception e){
/////// System.out.println(e.getMessage());
/// }
}
}
13、java 是否存在内存泄露
答:存在,当一个对象引用另一对象后,当另一对象为空时,会出
现内存泄露。
14、String 类的值是否可以改变
答: String 类的值在初始后 不 能改变 ,如果要改变 ,可转 换为
StringBuffer 类,这个类的值是可以动态改变的。(这里主要考 String
和 StringBuffer 的区别)
17、java 有几种修饰符?默认的是什么?
答:(注:修饰符是影响类、变量及成员方法的生存空间和可访问
性的关键字)
修饰符 类 成员方法 成员变量 局部变量
abstract √// √/////// - -
static// - √ √ -
public/ √// √/////// √/////// -
protected - √ √ -
private - √ √ -
private protected - √ √ -
synchronized - √ - -
native - √ - -
volatile - - √ -
final √ √ √ -
transient - - √ √
以下是访问控制修饰符: 默认为 friendly
修饰符 同类 同包 子孙类 不同包
public √ √ √ √
protected √ √ √ -
friendly √ √ - -
private √ - - -
18、toString 方法的概述
答:因为每个类都继承了 Object 类,所以都实现了 toString()方法。
/// 通过 toString()方法可以决定所创建对象的字符串表达形式。
19、Object 类的概述
答:Object 类是所有其他的类的超类,Object 的一个变量可以引用
任何其他类的对象。因为数组是作为类实现的,所以 Object 的一个
变量也可以引用任何数组,它包括以下几种方法:
/// clone()/ equals()/ finalize()/ getClass()/ hashCode()/ notify()/
notifyAll()/ toString()/ wait()
20、java 特点
答:java 具有以下几个主要特点:
? 简单性
? 面向对象:JAVA 是完全面向对象的,它支持静态和动态风格的代
码继承及重用
? 分布式:包括数据分布和操作分布
? 健壮性:java 系统仔细检测对内存的每次访问,确认它是否合法,
而且在编译和运行程序时,都要对可能出现的问题进行检查,以消
除错误的产生。
? 结构中立
? 安全性:java 不支持指针,一切对内存的访问都必须通过对象的
实例变量来实现,这样就防止程序员使用木马等欺骗手段访问对象
的私有成员,同时也避免了指针操作中容易产生的错误。
? 与平台无关:java 写的应用程序不用修改就可在不同的软硬平台
上运行。平台无关性有两种:源代码级和目标代码级。 Java 主要靠
JAVA 虚拟机在目标代码级上实现平台无关性
? 解释执性:运行 JAVA 程序时,它首先被编译成字节代码,字节
代码非常类似机器码,执行效率非常高。
? 高性能
? 多性程
? 动态性:它允许程序动态的装入运行时需要的类。
J2EE 面试题 2
21、什么叫抽象类?抽象类跟接口有什么区别?为什么引进数据接
口概念?
答:具有关键字 abstract ,在实现内容上没有完全定义的类就叫抽
象类。
抽象类和接口的区别如下:
在类继承抽象类时,只需实现部分具体方法和全部抽象方法,而
实现接口则要实现里面的全部方法。
在接口中无成员变量,而抽象类中可有成员变量。
在 Java 中引进接口主要是为了解决多继承的问题。
22、doGet 与 doPut 的区别?
答: doPut 会把地址作为一个文件写到服务器,而 doGet 不会,而
只显示在地址栏。
23、多线程实现有那几种方法,同步有哪几种方法?
答:实现同步主要有两种方法:1.synchronized/ 2.wait/ notify
实现多线程主要继承 Thread 类和实现 Runnable 接口。
24、JSP 页面的跳转?
答:jsp 页面实现跳转主要有 jsp:forward 和 sendRedirect 两种方法
jsp:forward:在本容器内跳转 。 跳转后,地址栏地址不变 。效率
高。跳转后立即结束本页的内容。
sendRedirect:在容器之间的跳转,跳转后地址栏地址为跳转后的地
址,效率较低。
通常采用 jsp:forward 方式跳转。
25、类变量的初始化
答:在 Java 中类变量在局部中一定要初始化,因为局部变量会覆盖
全局变量,否则会报错:变量未初始化。全局变量则可以不初始化,
而到具体的内部方法或其他的类成员中初始化。
26、数组的定义
答:数组是作为一种对象实现的。数组元素可以包含作何类型值,
但数组里面的每个元素的类型必须一致
创建数组步聚如下:
? 声明
? 构造
? 初始化
27、Hastable 与 HashMap 的区别?
答:Hashtable 和 Hashmap 的主要区别如下:
? Hashtable 是同步的,而 HashMap 不是同步的。所以不要求同步的
时候,用 HashMap 的效率较高? Hashtable 版本较 HashMap 版本低。
、 有没有
中的保留字,现在没有在 中使用。
、启动一个线程是用 还是
启动一个线程是调用 方法,使线程所代表的虚拟处理机处于
可运行状态,这意味着它可以由 调度并执行。这并不意味着线
程就会立即运行。方法可以产生必须退出的标志来停止一个
线程。 是 的一个方法它要靠 启动。
是启动线程地方法却不直接运行 方法来启动。
、!" 包括(#$"!$%")说出他们的生命周期,
及如何管理事务的?
#$":##$"的生命周期是由容器决
定的,当客户机发出请求要建立一个 " 的实例时,!" 容器不
一定要创建一个新的 " 的实例供客户机调用,而是随便找一个
现有的实例提供给客户机。当客户机第一次调用一个 #&
#$"时,容器必须立即在服务器中创建一个新的 "
实例,并关联到客户机上,以后此客户机调用 #&#$
"的方法时容器会把调用分派到与此客户机相关联的 " 实
例。
!$%":!$%" 能存活相对较长的时间,并且状态是
持续的。只要数据库中的数据存在,!$% 就一直存活。
而不是按照应用程序或者服务进程来说的。即使 !" 容器崩溃了,
!$% 也是存活的。!$%" 生命周期能够被容器或
者" 自己管理。!" 通过以下技术管理实务:对象管理组织
( '( ) 的 对 象 实 务 服 务 ( ')# ) , #$*%+ 的
)*$#$*()#)、)*$,-.(),),
开发组(/0'1)的 /, 接口。
、应用服务器有那些?
BEA WebLogic Server,IBM WebSphere Application
Server,Oracle9i Application Server,jBoss,Tomcat
、给我一个你最常见到的 $+2*1$。
3,$4+$*!2*1$,%#!2*1$
"5'67!2*1$"5867!2*1$
98!2*1$98!2*1$
99!2*1$9!2*1$
9*8$:*$!2*1$;'!2*1$
!+1%#*<!2*1$.,+!2*1$
.$#!2*1$.-4#!2*1$
.#!2*1$.+$'1!2*1$
.82''&"8!2*1$$$*!2*1$
$,%#$=!2*1$#*4!+!2*1$
-$!2*1$-:;!2*1$
-$8!2*1$>+!2*1$
#*$%!2*1$#%+!2*1$
8*8)47!2*1$
+8$:#!2*1$
118'1$!2*1$
?、接口是否可继承接口抽象类是否可实现$+1+接口
抽象类是否可继承实体类***
接口可以继承接口。抽象类可以实现$+1+接口,抽象类
可继承实体类,但前提是实体类必须有明确的构造函数。
@、A$#1 是否继承自 9*$ 接口
A$,# 是,1 不是
B、说出数据连接池的工作机制是什么
!! 服务器启动时会建立一定数量的池连接,并一直维持不少于
此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个
未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动
程序就新建一定数量的连接,新建连接的数量有配置参数决定。当
使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他
调用就可以使用这个连接。
C、* 的 +48 是否可同时是 $*是否可同时是
J2EE 面试题 3
剩余11页未读,继续阅读
资源评论
- zhangdong_ah2014-06-18不是很好,有的都过时了
- 山上的夜2016-09-13还不错,具有参考价值
Coder雪冰
- 粉丝: 52
- 资源: 29
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- MyBatis动态SQL是一种强大的特性,它允许我们在SQL语句中根据条件动态地添加或删除某些部分,从而实现更加灵活和高效的数据
- 关于mybatis的一些相关资源
- 关于mybatist的一些相关资源
- uni-app实战社区交友类app开发&带视频教程
- mybatis动态sql的一些相关资源
- 隐马尔可夫模型在期货市场的应用_曾琦裕 (1).caj
- 极域解控和极域反控!!!
- 安卓android-serialport-api 串口demo源代码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功