Java面试笔试题大汇总六Word文档格式.docx
- 文档编号:475514
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:25
- 大小:27.46KB
Java面试笔试题大汇总六Word文档格式.docx
《Java面试笔试题大汇总六Word文档格式.docx》由会员分享,可在线阅读,更多相关《Java面试笔试题大汇总六Word文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
Struts是采用JavaServlet/JavaServerPages技术,开发Web应用程序的开放源码的framework。
采用Struts能开发出基于MVC(Model-View-Controller)设计模式的应用构架。
Struts有如下的主要功能:
1.包含一个controllerservlet,能将用户的请求发送到相应的Action对象。
2.JSP自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。
3.提供了一系列实用对象:
XML处理、通过JavareflectionAPIs自动处理JavaBeans属性、国际化的提示和消息。
119、WEBSERVICE名词解释。
WebService是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。
JAXP(JavaAPIforXMLParsing)定义了在Java中使用DOM,SAX,XSLT的通用的接口。
这样在你的程序中你只要使用这些通用的接口,当你需要改变具体的实现时候也不需要修改代码。
JAXM(JavaAPIforXMLMessaging)是为SOAP通信提供访问方法和传输机制的API。
WSDL是一种XML格式,用于将网络服务描述为一组端点,这些端点对包含面向文档信息或面向过程信息的消息进行操作。
这种格式首先对操作和消息进行抽象描述,然后将其绑定到具体的网络协议和消息格式上以定义端点。
相关的具体端点即组合成为抽象端点(服务)。
120、C/S与B/S区别:
有如下八个方面的不同:
1.硬件环境不同:
C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.
B/S建立在广域网之上的,不必是专门的网络硬件环境,例与电话上网,租用设备.信息自己管理.有比C/S更强的适应范围,一般只要有操作系统和浏览器就行
2.对安全要求不同
C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.
B/S建立在广域网之上,对安全的控制能力相对弱,可能面向不可知的用户。
3.对程序架构不同
C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑.
B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上.比C/S有更高的要求B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk2000Exchange2000等,全面支持网络的构件搭建的系统.SUN和IBM推的JavaBean构件技术等,使B/S更加成熟.
4.软件重用不同
C/S程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好.
B/S对的多重结构,要求构件相对独立的功能.能够相对较好的重用.就入买来的餐桌可以再利用,而不是做在墙上的石头桌子
5.系统维护不同
C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升级.升级难.可能是再做一个全新的系统
B/S构件组成,方面构件个别的更换,实现系统的无缝升级.系统维护开销减到最小.用户从网上自己下载安装就可以实现升级.
6.处理问题不同
C/S程序可以处理用户面固定,并且在相同区域,安全要求高需求,与操作系统相关.应该都是相同的系统
B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的.与操作系统平台关系最小.
7.用户接口不同
C/S多是建立的Window平台上,表现方法有限,对程序员普遍要求较高
B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流.并且大部分难度减低,减低开发成本.
8.信息流不同
C/S程序一般是典型的中央集权的机械式处理,交互性相对低
B/S信息流向可变化,B-BB-CB-G等信息、流向的变化,更像交易中心。
121、什么是web容器
给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接跟容器中的环境变量交互,不必关注其它系统问题。
主要有WEB服务器来实现。
例如:
TOMCAT,WEBLOGIC,WEBSPHERE等。
该容器提供的接口严格遵守J2EE规范中的WEBAPPLICATION标准。
我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。
122、什么是EJB容器
答:
Enterprisejavabean容器。
更具有行业领域特色。
他提供给运行在其中的组件EJB各种管理功能。
只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。
并且可以通过现成的接口来获得系统级别的服务。
例如邮件服务、事务管理
123、什么是JNDI
(JavaNaming&
DirectoryInterface)JAVA命名目录服务。
主要提供的功能是:
提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
124、什么是JMS
(JavaMessageService)JAVA消息服务。
主要实现各个应用程序之间的通讯。
包括点对点和广播。
125、什么是JTA
(JavaTransactionAPI)JAVA事务服务。
提供各种分布式事务服务。
应用程序只需调用其提供的接口即可。
126、什么是JAF
(JavaActionFrameWork)JAVA安全认证框架。
提供一些安全控制方面的框架。
让开发者通过各种部署和自定义实现自己的个性安全控制策略。
RMI/IIOP:
(RemoteMethodInvocation/internet对象请求中介协议)他们主要用于通过远程调用服务。
例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。
当然这是要通过一定的规范才能在异构的系统之间进行通信。
RMI是JAVA特有的。
127、MVC的各个部分都有那些技术来实现?
十、设计模式方面
128、开发中都用到了那些设计模式?
用在什么场合?
每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。
通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。
主要用到了MVC的设计模式。
用来开发JSP/Servlet或者J2EE的相关应用。
简单工厂模式等。
129、说说你所熟悉或听说过的j2ee中的几种常用模式?
及对设计模式的一些看法
SessionFacadePattern:
使用SessionBean访问EntityBean
MessageFacadePattern:
实现异步调用
EJBCommandPattern:
使用CommandJavaBeans取代SessionBean,实现轻量级访问
DataTransferObjectFactory:
通过DTOFactory简化EntityBean数据提供特性
GenericAttributeAccess:
通过AttibuteAccess接口简化EntityBean数据提供特性
BusinessInterface:
通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性
EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。
项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。
130、j2ee常用的设计模式?
说明工厂模式。
Java中的23种设计模式:
Factory(工厂模式), Builder(建造模式),
FactoryMethod(工厂方法模式),
Prototype(原始模型模式),Singleton(单例模式),
Facade(门面模式),
Adapter(适配器模式),
Bridge(桥梁模式),
Composite(合成模式),
Decorator(装饰模式),
Flyweight(享元模式),
Proxy(代理模式),
Command(命令模式),
Interpreter(解释器模式),Visitor(访问者模式),
Iterator(迭代子模式),
Mediator(调停者模式),
Memento(备忘录模式),
Observer(观察者模式),
State(状态模式),
Strategy(策略模式),
TemplateMethod(模板方法模式),ChainOfResponsibleity(责任链模式)
工厂模式:
工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。
首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。
然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。
当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。
131、UML方面
标准建模语言UML。
用例图,静态图(包括类图、对象图和包图),行为图,交互图(顺序图,合作图),实现图,
UML方面
十一、CORBA方面
132、CORBA是什么?
用途是什么?
CORBA标准是公共对象请求代理结构(CommonObjectRequestBrokerArchitecture),由对象管理组织(ObjectManagementGroup,缩写为OMG)标准化。
它的组成是接口定义语言(IDL),语言绑定(binding:
也译为联编)和允许应用程序间互操作的协议。
其目的为:
用不同的程序设计语言书写
在不同的进程中运行
为不同的操作系统开发
十二、LINUX方面
133、LINUX下线程,GDI类的解释。
LINUX实现的就是基于核心轻量级进程的"
一对一"
线程模型,一个线程实体对应一个核心轻量级进程,而线程之间的管理在核外函数库中实现。
GDI类为图像设备编程接口类库。
十三、代码与编程题
135、写一个Singleton出来
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式:
定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。
publicclassSingleton{
privateSingleton(){}
privatestaticSingletoninstance=newSingleton();
//这里提供了一个供外部访问本class的静态方法,可以直接访问
publicstaticSingletongetInstance(){
returninstance;
}
}
第二种形式:
publicclassSingleton{
privatestaticSingletoninstance=null;
//这个方法比上面有所改进,只是第一次使用时生成实例,提高了效率
publicstaticsynchronizedSingletongetInstance(){
if(instance==null)instance=newSingleton();
}
其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些
136、继承时候类的执行顺序问题,一般都是选择题,问你将会打印出什么?
答:
父类:
packagetest;
publicclassFatherClass{
publicFatherClass(){
System.out.println("
FatherClassCreate"
);
}
子类:
importtest.FatherClass;
publicclass
ChildClassextendsFatherClass{
publicChildClass(){
ChildClassCreate"
publicstaticvoidmain(String[]args){
FatherClassfc=newFatherClass();
ChildClasscc=newChildClass();
输出结果:
C:
\>
javatest.ChildClass
FatherClassCreate
ChildClassCreate
137、内部类的实现方式?
示例代码如下:
publicclassOuterClass{
privateclassInterClass{
publicInterClass(){
InterClassCreate"
publicOuterClass(){
InterClassic=newInterClass();
OuterClassCreate"
OuterClassoc=newOuterClass();
javatest/OuterClass
InterClassCreate
OuterClassCreate
再一个例题:
publicclassOuterClass{
privatedoubled1=1.0;
//insertcodehere
Youneedtoinsertaninnerclassdeclarationatline3.Whichtwoinnerclassdeclarationsarevalid?
(Choosetwo.)
A.classInnerOne{
publicstaticdoublemethoda(){returnd1;
B.publicclassInnerOne{
staticdoublemethoda(){returnd1;
C.privateclassInnerOne{
doublemethoda(){returnd1;
D.staticclassInnerOne{
protecteddoublemethoda(){returnd1;
E.abstractclassInnerOne{
publicabstractdoublemethoda();
说明如下:
1.静态内部类可以有静态成员,而非静态内部类则不能有静态成员。
故A、B错
2.静态内部类的非静态成员可以访问外部类的静态变量,而不可访问外部类的非静态变量;
故D错
3.非静态内部类的非静态成员可以访问外部类的非静态变量。
故C正确
4.答案为C、E
138、Java的通信编程,编程题(或问答),用JAVASOCKET编程,读服务器几个字符,再写入本地显示?
Server端程序:
import.*;
importjava.io.*;
publicclassServer{
privateServerSocketss;
privateSocketsocket;
privateBufferedReaderin;
privatePrintWriterout;
publicServer(){
try{
ss=newServerSocket(10000);
while(true){
socket=ss.accept();
StringRemoteIP=socket.getInetAddress().getHostAddress();
StringRemotePort="
:
+socket.getLocalPort();
Aclientcomein!
IP:
+RemoteIP+RemotePort);
in=newBufferedReader(newInputStreamReader(socket.getInputStream()));
Stringline=in.readLine();
Cleintsendis:
+line);
out=newPrintWriter(socket.getOutputStream(),true);
out.println("
YourMessageReceived!
out.close();
in.close();
socket.close();
}catch(IOExceptione){
wrong"
publicstaticvoidmain(String[]args){
newServer();
Client端程序:
publicclassClient{
Socketsocket;
BufferedReaderin;
PrintWriterout;
publicClient(){
TrytoConnectto127.0.0.1:
10000"
socket=newSocket("
127.0.0.1"
10000);
TheServerConnected!
PleaseentersomeCharacter:
BufferedReaderline=newBufferedReader(newInputStreamReader(System.in));
out=newPrintWriter(socket.g
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 试笔 试题 汇总