杭州公司笔试题目_第1页
杭州公司笔试题目_第2页
杭州公司笔试题目_第3页
杭州公司笔试题目_第4页
杭州公司笔试题目_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

1.离线查询去除重复项怎么加条件?

dc.selRmullTransformer(Crileria.DISTINCT_ROOT_ENTITY);

2.http协议及端口,smtp协议及端口

超文本传输协议端口80

简单邮件传输协议端口25

3.编写程序,完成文件复制功能错误?

InputStreamis=newInputStream();

OutputStrcamos=newFileOutputStream(newFile("写入的文件的路径"));byte[]

buff=newbyte[8192];intlength=0;

while((length=is.read(buff))!=-l){

os.write(buff,0,length);

}然后try...catch。..finally{关闭流}

4.Servlel创建过程及生命周期Servle1在容器中运行时,其实例的创建及销毁等是由容器进

行控制。

Servlet的创建有两种方法。

1、客户端请求对应的Senlet时,创建Servlet实例;大部分Servlet都是这种Servleto

2^通过在web.xml中设置load-on-starlup来创建servlet实例,这种实例在Web应用启动

时,立即创建Servlet实例

Servlet的运行都遵循如下生命周期:

1、创建Servlet实例。

2、Web容器调用Servlet的init方法,对Servlet进行初始化。

3、Servlet初始化后,将一直存在于容器中,用于响应客户端请求。。如果客户端有get请

求,容器调用Se凹let的doGet方法处理并响应请求。对于不同的请求,有不同的处理方

法,或者统一使用service方法处理来响应用户请求。

4、Web容器角色销毁Servlet时,调用Servlet的destroy方法,通常在关闭Web容器之

时销毁Servleto

5.用sql语句分页:list.map.set的存储特点?

List以特定次序来持有元素,可有重复元素.Set无法拥有重亚元素,内部排序.Map保存

key-value值,value可多值

6.final,finally,finaliz的区别

final一修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,

不能作为父类被继承。因比一个类不能既被声明为abstract的,又被声明为final的。将

变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声

明时给定初值,而在以后的引用中只能读取,不可修改被声明为final的方法也同样只能

使用,不能重载。

finally一再异常处理时提供finally块来执行任何清除操作。如果抛出一个异常,那么相

匹配的catch子句就会执行,然后控制就会进入finally块(如果有的话)。

finalize一方法名。Java技术允许使用finalize。方法在垃圾收集器将对象从内存中清除

出去之前做必要的清理工作。这个方法是由垃圾收集器在确定这个对象没有被引用时对这个

对象调用的。它是在Objeci类中定义的,因此所有的类都继承了它。子类覆盖;finalize。

方法以整理系统资源或者执行其他清理工作finalizeO方法是在垃圾收集器删除对象之前

对这个对象调用的。

7.arraylist和vector的区别?

ArrayList作为一个常规用途的对象容器使用,用于替换原先的Vector。允许我们快速访问

元素,但在从列表中部插入和删除元素时,速度却嫌稍慢。

一般只应该用Listiterator对一个ArrayList进行向前和向后遍历,不要用它删除和插入元素;

与LinkedList相比,它的效率要低许多

8.Arraylistlinkedlist区别?

ArrayList采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大

的缺点就是插入删除时非常麻烦LinkedList采用的将对象存放在独立的空间中,而旦在每

个空间中还保存下一个链接的索引但是缺点就是查找非常麻烦要丛第一个索引开始

9.haSHMAP,HASHTABLE区另I」

1.Hashtable是Dictionary的子类,HashMap是Map接口的一个实现类:

2.Hashtable中的方法是同步的,而HashMap中的方法在缺省情况下是非同步的。

3.在HashM叩中,null可以作为键,这样的键只有一个;可以有一个或多个键所对应的值为

nulL

10.描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理

Cookie是在客户端开辟的一块可长期存储用户信息的地方;Session是在服务器内存中开辟

的一块存储用户信息的地方;当客户第一次访问服务据时,服务相在内存创建对应的Session

给访问客户,当客户离开或时间过期时:服务器自动销毁Session;Session是由容器管理

1l.set,map,set接口的区别

list以特定次序来持有元素,可有重复元素,查找效率高,插入效率低化,

set无法拥有重更元素,内部排序,检索元素效率低,删除和插入效率高,因为插入和

删除不会引起位置上的变化,

12.String和stringbuffer进行字符串连接时的区别?

String对项内容是不可改变的,StringBuffer是可以改变的,别且高效;

13.什么叫项目?

用有限的资源、有限的时间为特定客户完成特定目标的一次性工作

14.J2EEJ是什么意思?2是什么意思EE是什么意思?Slruls的拦截器你是怎么做的,是

独立开发的,能够独立开发的到。然后问有哪几种拦截?

Java2Platform»EnterpriseEdition

继承Abstract]nterceptor类,覆盖intercept。方法

有struts0己的拦截器如timer,i18n,scop,servlelconfig,tcken

还有自定义拦截器

15.简单介绍Fjava?Spring的AOP,1OC的讲述对struts2的了解,1,2的比较xml

的了解J2ee的webserviced的协议?

SpringAOP:代理机制Spring提供的自动代理机制

Spring的IoC来实组件之间的依赖关系注入,使控制层与业务实现分离,即客户通过

调用业务委托接口来调用具体的业务组件的实例,避免控制层与业务层的藕合带来的维护

或升级困难。由Spring为DAO生成代理对象来为DAO添加事务服务,由IoC容器DAO的代理实例注

入到业务组件中,业务组件通过DAO的委托接口调用DAO对象,使得上层组件不直接依赖于DAO的实现

类,使得持久层更换或修改不影响上层组件。

16.Collections,collection的区别

Collection是个java.uiil卜的接口,它是各种集合结构的父接口。Collections是个java.util

下的普通类,它包含有各种有关集合操作的静态方法。Collections是针对集合类的一个帮

助类,它提供一系列的郛态方法实现对各种集合的搜索,排序,线程安全化等操作

17.如何释放过度使用的undo表空间

释放undo表空间1.启动SQLPLUS,并用sys登陆到数据库。2.查找数据库的UNDO

表空间名3.确认UNDO表空间;SQL>selectnamefromvStablespace;NAME

4.检查数据库UNDO表空间占用空间情况以及数据文件存放位置;5.查看回滚段的使

用情况,哪个用户正在使用回滚段的资源,如果有用户最好更换时间6.检查UNDO

Segment状态

18.数据库里面游标,索引是怎么用的?在oracle数据库中,用get和load方法这2个方

法来查没有的数据那么分别会反馈什么样的结果?

declarecurcursorkeysetfor

gel返回null,loadclassnotfoundException

19.在Oracle中数据库中的一个表中,这个表没有主键id也没有特定标示来查数据,怎么查?

rowid

20.简述privale、proleced、public、internal修饰符的访问权限2.概述反射和序列化

请裂举session、cookie、viewstatedn的应用范围4、简述WebService和Remoting的特点

和运用场景

同一个类同一个包不同包的子类不同包非子类

private*

default**

protected***

public****

Reflection是Java被视为动态(或准动态)语言的一个关键性质。这个机制允许程序在运行时透过Refl

ectiunAPIs取得任何一,卜己知名称的class的内部信息,包括其modifiers(public,static第等)、

superclass(例如Object)、实现之interfaces(例如Cloneable),也包括fields和methods的所

有信息,并可于运行时改变佗Ids内容或唤起methods。本文信由实例,大面积示范ReflectionAPIs。

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象

进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对•对象流进行读写操作时所引

发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,

implementsSerializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:

Fileoutputstream)来构域一个ObjectOutputStreamf对象流)对象,接着,使用

ObjectOutputStream对象的writeObject(Objectobj)方法就可以将参数为obj的对象写出(即保存其

状态),要恢复的话则用输入流

21.ORACLE中not和and和or优先级由高到低?

notandor

22.java是如何进行异常处理的

调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键

词来实现的:try、catch、throw、ihrows和finally。一般情况下是用try来执行一段程序

23.struts2必备包

coninions-filcupload-1.2.1.jar

commons-io-1.3.2.jar

commons-logging-api-1.1.jar

freemarker-2.3.13.jar

ognl-2.6.11.jar

struts2-core-2.1.6.jar

xwork-2.1.2.jar

Dao是数据访问对象DAO负责管理与数据源的连接来获取和储存其中的数据

ibtis中的#与$的区别

1、客户端初始化一个指向Servlet容器(例如Tomcat)的请求

2、这个请求经过一系列的过滤器(Filler)(这些过滤器中有一个叫做AclionConlexlQeanUp

的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SitcMcsh

Plugin);

3、接着FiltcrDispatchcr被调用,FiltcrDispatchcr询问ActionMappcr来决定这个请求是否

需要调用某个Action;

4、如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处理交给

ActionProxy;

5、ActionProxy通过ConfigurationManager询问框架的配置文件,找到需要调用的Action

类;

6、ActionProxy创建一个Actioninvocation的实例。

7、Actioninvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦

械器(Intercepter)的调用。

8、一旦Action执行完毕,Actioninvocation负责根据struts.xnil中的配置找到对应的返回

结果。返回结果通常是(但不总是,也可能是另外的一个Action链)一个需要被表示的

JSP或者FreeMarker的模版。在表示的过程中可以使用Slruts2框架中继承的标签。在这

个过程中需要涉及到ActionMappcr

简述spring的事务传播行为和隔离级别

25.写一段把本地文件formfile拷贝到本地文件(oiile的程序

publicclassChangeJtdToJava{

publicstaticvoidmain(String[]args){

Filedir=newFile("f:/jld");

//得到d:/jtd下的所有文件对象

File[]files=dir.listFiles();

for(Filefile:files){

StringfileName=file.getName();//得到文件名

intindex=fileName.indexOf(".");〃.的索引位置

StringfileName?=fileName.substring(O,index);//不带后缀名的文件名

StringhouZui=fileName.substrinxg(index);

if(houZui.equals(".jtd")){

//"f:/java/"+fileName2+".java"

//要移到的地方

file.renameTo(newFile("f:/java/"+fileName2+".java"));

I

)

}

26.写出删除表中重复记录的语句oracle

deletefrompeople

wherepeopleldin(selectpeopleldfrompeoplegroupbypeopleldhaving

count(peopleld)>1)androwidnotin(selectmin(rowid)frompeoplegroupby

27.用java实现一种排序,java类实现序列化的方法(二种)?如在collection框架中,要实现什么样

的接口

java.io.Serializable接口Collection框架中实现比较要实现Comparable接口和

Comparator接口

28.Struts2是如何实现拦截器的?

Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,

并且Struts2拦截器是可插拔的,拦截器是A0P的一种实现。实现原理:当请求siruts2

的action时,Slnils2会查找配置文件,并根据其配置实例化相对的拦截器对象,

然后串成一个列表,最后一个一个地调用列表中的拦截器

29.sleep。和wait。区别

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他

线程,但是监控状态依然保持,到时后会自动恢复。调用sleep不会释放对象锁。wait。.

会释放锁

3O.Servlet的生命周期分为5个阶段:?和CGI的区别?

实例化:Servlet容器创建Servlet类的实例。

初始化:该容器调用iMt()方法,通常会申请资源。

服务:由容器调用service。方法,(也就是doGet()和doPost())。

破坏:在释放Servlet实例之前调用destroy。方法,通常会释放资源。

31.foward和redirect区另。

redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来

说浏览器会用刚才请求的所有参数重新请求,所以session,requesl参数都可以获取。web

应用程序会要求客户端浏览器重新发出请求地址,客户端会重新连接至所指定的地址,

因此浏览器的地址会出现重新导向的信息,重新导向后的请求由浏览器发出,所以不能

访问Web应用程序中的隐

32.多线程、同步实现方法?

实现线程有两种继承Thread类或者实现Runnable接口…实现同步也有两种,一种是用

同步方法,一种是用同步块..同步方法就是在方法返回类型后面加.上synchronized,比

如:

publicvoidsynchronizedadd(){...}

同步块就是直接写:synchronized(这里写需要同步的对象){...}

33.集合类有哪些?有哪些方法?

集合类ArrayLislLinkedListHashSetHashMap方法:

add(),remove(),put(),addAll(),removeAll()

34.java中实现多态的机制是什么

重写,重载

35.静态的多态和动态的多态的区别

静态的多态:方法名相同,参数个数或类型不相同。(overloading)

动态的多态:子类覆盖父类的方法,将子类的实例传与父类的引用调用的是子类的方法

实现接口的实例传与接口的引用调用的实现类的方法。

36.作用域Public,private,protected似及不写时的区别

public整个java程序中郛可以访问

protected在其他包中不可以询问

friendly只有当前包或当前内可以访问,其他都不行

private只有当前内可以访问

不写的话默认是protected

37.extends和implement的彳、同

extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继

承,JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继

承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了比如class

AextendsBimplementsC,D,E

38.常用的设计模式?定义一个变量,Varv=ncwObject.用js编写的简便写法是什么?join

与leftjoin的区另I]

DAO设计模式与DELEGATE模式

适配器模式与桥梁模式的区别

工厂模式

innerjoin:内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列

的列值

leftjoin:内连接时,返回查询结果集合中的仅是符合查询条件(WHERE搜索条件

或HAVING条件)和连接条件的行。而采用外连接时,它返回到查询结果集合中的不仅包含

符合连接条件的行,而且还包括左表(左外连接时)、右表(右外连接时)或两个边接表(全外连

接)中的所有数据行

39.Hibernale中离线查询与在线查询的区别

Criteria和DetachedCriteria的主要区别在于创建的形式不一样,Criteria是在线的,

所以它是由HibernateSession进行创建的;而DetachedCriteria是离线的,创建时无

需Session,DetachedCriteria提供了2个静态方法forClass(Class)或

forEntityName(Narne)进行DetachedCriteria实例的创建。

40.C#数据类型有哪些?

int整型double双精度型string字符串型char字符型bool布尔型

41.抽象类能否被实例化

抽象类通常不是由程序员定义的,而是由项目经理或模块设计人设计抽象类的原因通

常是为了规范方法名抽象类必须要继承,不然没法用,作为模块设计者,可以把让底

层程序员直接用得方法直接调用,而一些需要让程序员覆盖后自己做得方法则定义称抽

象方法

42.ASP.NET页面传递值的方式有哪些

1通过URL链接地址传递2通过post方式。

send.aspx3通过session4通过Application

5通过Server.Transfersend.aspx:

43.如何定义一个窗口为MDI窗口?

MDI窗口就是说一个窗体做为容器,里面还可以添加其他窗体

44.WCF是什么?

WCF是微软用以应对SOA解决方案的开发需求而专门推出的是专门用丁•服务定制、

发布与运行以及消息传递和处理的一组专门类的集合,也就是所谓的“类库

45.常用的包,类,接口,各举5个。

类StringIntegerLongFileDate包java.lang.*;java.io.*;java.util.*;java.swt.*;

java.malh.*;接口:Comparable,Connection,Map,List,Runable,

46.

1,网上购物系统的类图,用例图。

2,给你一个整数类型的数组,按从小到大的顺序进行排列!

publicstaticvoidfun(int[]a,intc)

(

for(in(i=O;i<a.lenglh-l;i++)

for(intj=i;j<a.length-l;j++)

if(ali]<a|j])

(

t=a[i];

a[i]=a[jl;

1

)

Syslem.oul.prinl(a[i]+"");

}

}

食询出M页的N行数据。

SelecttopNfromtablewhereidnotin(selecttop(M-1)*Nidfromtable)

l.linkedlistarraylist内部是如何实现的newArrayLisl(lO)含义

47.面向对象主要内容?有什么作用?

就分析设计层面来说,面向对象技术提供了更高级的抽象能力以及更多的方法和工具,

如设计模式;就实现维护层面来说,面向对象技术使代码重用更容易,且使代码具有

可扩展性,便于软件的维护和升级更新。

49.如何移动一个数是62-63=1成立

62-63=1如何移动2的6次方等于642的6次方-63=1把2移动到6的左下方

5O.JavaSQL2005导入importdata数据源例如有Oracle中的blob字段是否要用ole驱动、递

归实现1,123,5,8,….第30个数是多少?

publicstaticintFoo(inti)

(

if(i<=0)

return0;

elseif(i>0&&i<=2)

return1;

elsereturnFoo(i-1)+Foo(i-2);

I

inti=Foo(30);

System.out.println(i);

51.JAVA实现向数据库添加一列

Connectioncon=null;

ResultSetrs=null;

Class.forName("coin.microsoft.jdbc.sqlserver.SQLServerDriver");

Siringurl="jdbc:inicrosof(:sqlserver://localhost:1433;DaiabaseName=db_name";

Connectioncon=DriverManager.getConnection(url,

StaleManagersm=con.creaieStateMent();

Stringsql="insertableintovalues("aa","bb")";

rs=sm.excute(sql);

52.写出删除表中重复记录的语句oracle

deletefrompeople

wherepeopleldin(selectpeopleldfrompeoplegroupbypeopleldhaving

count(peopleld)>1)androwidnotin(selectmin(rowid)frompeoplegroup

1:用什么方法使服务器关闭之后,session所保存的信息不会丢失?

使用cookie

2:如果页面没有标签,会出现什么错误代码?

没有什么变化

3:抽象类是否可以没有拍象方法?为什么?

可以在java中用abstract关键字来修饰一个类时,这个类叫做抽象类。

抽象类中不一定要包含abstract方法,但一个类中包含了abstract方法,则这个类必须

声明为abstract类。

4:servlet中的init方法什么时候被调用?

容器首次创建实例的时候

53.用4个0,用你所知道的数学方法计算出24

。的阶乘等于1即0!=1那么4个。就是4了

又4的阶乘为244!=24

54.1inux中进程的杳看和调度分别用什么命令?

ps-A查看renicetop

55.sleep()和wait区别

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,

但是监控状态依然保持,到时后

56.集合类有哪些?有哪些方法?

集合类ArrayListLinkedListHashSetHashM叩方法:

add(),remove(),pul(),addAll(),removeAII()

57.OSI七层模型tep四层模型是什么样的

OSI七层参考模型:物理层、数据链路层、网络层、传输层、应用层、会话层、表示层

TCP/IP:第一层网络接口层第二层第二层??网间层第三层??传输层第四层??应用层

58.JAVA测试模式(ZZ):

模式(一)Main模式

模式(二)toString模式

模式(三)Equal模式

模式(四)InternalTesterClass模式

模式(五)ExternTesterCiass模式

60.一学生表!有班及id,学号!成绩!一求平均成绩!二求比平均成绩高的学生的所有信

selectid,avg(成绩)fromtablegroupbyid

select*fromtablewhere成绩>(select成绩from(selectid,avg(成绩)成绩fromtable

groupbyid)asa)

61.jdk的新特性

“JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each

循环,自动装包/拆包,枚举,可变参数,静态导入。使用这些特性有助于我们编写更加

清晰,精悍,安全的代码,

62.j2cc的规范?

SUN公司定义的一个开发分布式企业级应用的规范。它提供了一个多层次的分布式应用模

型和•系列开发技术规范,多层次分布式应用模型是指根据功能把应用逻辑分成多个层次,

每个层次支持相应的服务器和组件,组件在分布式服务器的组件容器中运行(如Servlet组

件在Servlet容器上运行,EJB组件在EJB容器上运行),容器间通过相关的协议进行通讯,

实现组件间的相互调用J2EE规范定义了以下四个层次。I.客户端层(ClientTier)2.W?b层

3.业务层(BusinessTier)4.企业信息系统层

63.ajax的工作原理?

Ajax基本上就是把JavaScript技术和XMLHttpRequest对象放在Web表单和服务器之间。当用户

填写表单时,数据发送给一些JavaScript代码而不是直接发送给服务器。相反,JavaScript代码捕获

表单数据并向服务器发送请求。同时用户醉幕上的表单也不会闪烁、消失或延迟。换句话说,JavaScript

代码在幕后发送请求,用户甚至不知道请求的发出。更好的是,请求是异步发送的,就是说JavaScript

代码(和用户)不用等待服务器的响应。因此用户可以继续输入数据、滚动屏幕和使用应用程序。

然后,服务器将数据返回JavaScript代码(仍然在Web表单中),后者决定如何处理这些数据。它

可以迅速更新表单数据,让人感觉应用程序是立即完成的,表单没有提交或刷新而用户得到了新数据。

JavaScript代码甚至可以对收到的数据执行某种计算,再发送另一个请求,完全不需要用户干预!这就是

XMLHttpRequest的强大之处。它可以根据需要自行与服务器进行交互,用户甚至可以完全不知道幕后

发生的•切。结果就是类似于桌面应用程序的动态、快速响应、高交互性的体验,但是背后又拥有互联网

的全部强大力量。

64.Xml特点?

65.oracle中除了数据库备份,还有什么方法备份?

66.j2ee的常用设计模式

Factory(工厂模式),Builder(建造模式)fFacloryMethod(工厂方法模式),Prototype(原

始模型模式),Singleton(单例模式),Facade(门面模式),Adapter(适配器模式),Bridge

(桥梁模式)

67.由aaa字符串得到1000个a写个程序

StringBuildersBuilder=newStringBuilder();

for(inti=O;i<333;i++){

sBuilder.Append("aaa");

sBuilder.Append("aaa".subS(ring(0.1));

68.servlet与cgi的区别

CGI应用开发比较困难,因为它要求程序员有处理参数传递的知识,这不是一种通用的技能。

CGI不可移植,为某一特定平台编写的CGI应用只能运行于这一环境中。每一个CGI应用

存在于一个由客户端请求激活的进程中,并且在请求被服务后被卸载。这种模式将引起很高

的内存、CPU开销,而且在同一进程中不能服务多个客户。

Servlet提供了Java应用程序的所有优势一一可移植、稳健、易开发。使用ServlelTag技术,

Servlet能够生成嵌于静态HTML页面中的动态内容

Servlet对CGI的最主要优势在于一个Servlet被客户端发送的第一个请求激活,然后它将继

续运行于后台,等待以后的请求。每个请求将生成•个新的线程,而不是一个完整的进程。

多个客户能够在同一个进程中同时得到服务。一般来说,Servlel进程只是在WebServer卸

载时被卸载

69.SOCKET中有几中连接方式,区别?

Sockets有两种主要的操作方式:面向连接的和无连接的。无连接的操作使用数据报协议,无

连接的操作是快速的和高效的,但是数据安全性不佳.面向连接的操作使用TCP协议.面向连

接的操作比无连接的操作效率更低,但是数据的安全性更高

70.Socket如何获取本地ip地址?

publicInetAddressgctLocal/\ddrcss()

71.truncate与delete的区别?

truncate是DDL^言.delete是DML言吾言DDL言吾言是白勤提交的.命令完成就不可回

海truncate的速度也比delete要快得多.

72.xml有哪些解析技术,及区别?

有DOM,SAX,STAX等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由D0M的树结构所造成的,这

种结构占用的内存较多,而且DOM必须在解析文件之前把整个文档装入内存,适合对XML

的随机访问SAX:不现于DOM,SAX是事件驱动型的XML解析方式。它顺序读取XML文

件,不需要一次全部装载整个文件。当遇到像文件开头,文档结束,或者标签开头与标签结

束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理XML文件,适

合对XML的顺序访问

73.文件和目录(i/。)操作,怎么列出某目录下所有文件?某目录下所有子目录,怎么判断文件

或目录是否存在?如何读写文件?

列出某目录下所有文件:调用listFileO,然后判断每个File对象是isFile还是isAbstracte(),

判断文件或目录是否存在:调用exist方法,读写文件使用FileReader和FileWritcr两个类

即可

74.deletefromtablea和truncatetabletablea的区别!

这里说的delete是指不带where子句的delete语句

相同点:truncate和不带where子句的delete,以及drop都会删除表内的数据

不同点:

1.truncate和delete只删除数据不删除表的结构(定义)

drop语句将删除表的结构被依赖的约束(constrain],触发器(trigger),索引(index);依赖

于该表的存储过程/函数将保留,但是变为invalid状态.

2.delete语句足dml,这个碟作会放到rollbacksegement中,事务提交之后才生效;如果芍相

应的trigger,执行的时候将被触发.

truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作

不触发trigger.

3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动

显然drop语句将表所占用的空间全部释放

truncate语句缺省情况下见空间释放到minextents个extent,除非使用reusestorage;

truncate会将高水线复位(回到最开始).

4.速度,一般来说:drop>truncate>delete

5.安全性:小心使用drop和truncate,尤其没有备份的时候.否则哭都来不及

使用上,想删除部分数据行用delete,注意带上where子句.回滚段要足够大.

想删除表,当然用drop

想保留表而将所有数据删除.如果和事务无关,用truncate即可.如果和事务有关,或者想触

发trigger,还是用delete.

75.怎么用java反射得到一个类的私有方法?

PrivateTesi1=Class.forName(ncoin.test.PrivateTest").newInstance();

Methodmethod2=Class.forNanie("com.test.PrivateTest").getDeclaredMetliod("method",new

Class[]]});

method2.setAccessible(true);

mcthod2.invoke(t,newObject[]{));

76.写一个单例模式?描述工厂模式和单例优缺点举例在什么情况下用

简单工厂模式能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。通

过它,外界可以从直接创建具体产品对象的尴尬局面中摆脱出来。

外界与具体类隔离开来,偶合性低。

•明确区分了各自的职责和权力,有利于整个软件体系结构的优化。

缺点:工厂类集中了所有实例的创建逻辑,容易违反GRASPR的高内聚的责任分配原则

虽然简单工厂模式能够适应一定的变化,但是它所能解决的问题是远远有限的。它所能

创建的类只能是事先教考虑到的,如果需要添加新的类,则就需要改变工厂类了。(这

个问题在工厂方法模式将得到很好的解决)

应用情景工厂类负责创建的对象比较少客户只知道传入了工厂类的参数,对于始何

创建对象(逻辑)不关心

77.JVM加载class文件原理?

JVM中类的装载是由ClassLoader和它的子类来实现的JavaClassLoader是一个重要的Java

运行时系统组件。它负责在运行时查找和装入类文件的类ClassLoader其实就是读取文

件,按照CLASSPATH配置的顺序。然后解析后转化为类

78.Tomcat的class加载的优先顺序一览

1.最先HOME/jre/lib/ext/下的jar文件。2.环境变量CLASSPATH中的jar和class文

3.$CATALINA_HOME/common/classes下的class文件。

4,$CATALINA_HOME/cominons/endorsed下的jar文件《

5.$CATALINA_HOME/commons/i18n下的jar文件。6.SCATALINA_HOME/common/lib下的

jar文件。

(JDBC驱动之类的jar文件可以放在这里,这样就可以避免在server.xml配置好数据源却出

现找不到JDBCDriver的情况。)

7.SCATALINA_H0ME/server/classes下的class文件。

8.SCATALINA_HOME/server/lib/T的jar文件。

9.$CATALINA_BASE/shared/classes下的class文件。

10.$CATALINA_BASE/shared/lib下的jar文件。

11.各自具体的webapp/WEB-INF/classes下的class文件。

12各自具体的webapp/WEB-INF/lib下的jar文件。

79.CS与BS联系区别

java适合开发bs结构,cs不是它的强项C/S服务器通常采用高性能的PC、工作站或小型

机,并采用大型数据库系统,如Oracle、Sybase、Infonnix或SQLServero客户端需要安装

专用的客户端软件。B/S客户机上只要安装一个浏览器(Browser),$riInternetExplorer,服

务器安装Oracle、Sybase、Infonnix或SQLServer等数据库。在这种结构卜,用户界面完全

通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。

浏览器通过WebServer同数据库进行数据交互1.硬件环境不同:C/S一般建立在专用的

网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务.

B/S建立在广域网之上的

2.对安全要求不同C/S一般面向相对固定的用户群,对信息安全的控制能力很强.一般高

度机密的信息系统采用C/S结构适宜.可以通过B/S发布部分可公开信息.B/S建立在广

域网之上,对安全的控制能力相对弱,可能面向不可知的用户

3.对程序架构不同C/S程序可以更加注重流程,可以对权限多层次校验B/S对安全以

及访问速度的多重的考虑.建立在需要更加优化的基础之上

8().Error和exception的区别与联系

error表示恢复不是不可能,但很困难的情况下的一种严重问题。比如说内存溢,网络故障等。

不可能指望程序能处理的情况。

exception表示一种设计或实现问题。也就是说,它表示如果程序运行正常,就不会发生的

情况。程序可以捕获到这些异常,并进行处理。

81.在编写页面的会用到哪些技术??

手写个程序在本页面中心弹出一个窗体,里面有学生的成绩,可以修改学生的成绩,并

且可以关闭窗口,把每个要用的jsp页面显示出来。(用JavaScript)

82.用main涵数输出一到一百的和。

#include<stdio.h>

intmain(){

printf("sum:%d\n",sum());

return0;

intsum(){

inti;

intsum=0;

for(i=1;i<=100;i++)

sum+=i;

returnsum;

83.查一下每门课程都大于80的学生姓名

学生表student分数表grade

selectfromstudentswheres.idnoin(selectg.studenridfromgradegwhereg.marks<=80)

select*fromstudentwherenamein(selectnamefromstudent

wherenamelike'张%'groupbynamehavingavg(score)>75)

84.LIUNIX如何查看CPUJP,内存?

Isattr-EImemo查看内存的

/sbin/ifeong查看IP的

85J2EE系统访问速度慢.从哪些方面可以优化

J2EE性能的优化包括很多方面的,要达到一个性能优良的系统,除了关注代码之外,还应该根

据系统实际的运行情况,从服务器软硬件环境、集群技术、系统构架设计、系统部署环境、数

据结构、算法设计等方面综合考虑

86.J2EE访问速度慢,怎么样优化

I使用缓冲标记对于代码逻辑复杂的页面,利用缓冲标记提高性能的效果比较明显;反之,效

果可能略逊一筹。2始终通过会话Bean访问实体Bean

一些时候,使用实体Bean会导致程序性能不佳。如果实体Bean的惟一用途就是提取和更新数据,

改成在会话Bean之内利用JDBC访问数据库可以得到更好的性能3选择合适的引用机制

4在部署描述器中设置只读属性实体Bean的部署描述器允许把所有get方法设置成“只读”。

当某个事务单元的工作只包含执行读取操作的方法时,设置只读属性有利于提高性能,因为

容器不必再执行存储操作5缓冲对EJBHome的访问

87.haShtable的原理

原理:通过节点的关键码确定节点的存储位置,即给定节点的关健码k,通过一定的函数关系H(散

列函数),得到函数值H(k),将此值解释为该节点的存储地址

88.siruls中的prepare怎么用?

prepare是在validate拦截器之前执行

<s:checkboxlistlis(="users"listKey="id"lislValue="name"name="userid"x/s:checkboxlist>

在使用struts?checkboxlist,select绑定list时,有时候会出现以下异常

Therequestedlistkey'users'couldnotberesolvedasacollection/array/rnap/enumeration/iteratortype.

Example:peopleorpeople.{name}-[unknownlocation]这样的错误。是因为list的值为空

3.解决办法是把初始化list的工作放到prepare拦截器中

publicclassRoleActionextendsActionSupportimplementsPreparable{

@Overridc

publicvoidprepare()throwsException{

〃初始化list

89.C#题目conetextmenu控件如何使用..listview

ConiexlMenu组件提供与选定对象相关的常用命令的菜单。可以通过向Menuitems集合中

添加Menultem对象来向快捷菜单中添加项。可以从快捷菜单中永久地移除顶:但是在运

行时隐藏或禁用项可能更为妥当。

90.写一条SQL语句,查询姓张学生中平均成绩大于75的学生信息

select*fromstudentwherenamein(selectnamefromstudent

wherenamelike'张%'groupbynamehavingavg(score)>75)

91.从以下方面比较slnHl和siru⑵线程模式、依赖、可测性、表达式语言、捕获输入、绑钉

值到页面、类型转换

线程模式:Struts1Action是单例模式并且必须是线程安全的,因为仅有Action的一个实例

来处理所有的请求。单例策略限制了StnitslAction能作的事,并且要在开发时特别小心。

Action资源必须是线程安全的或同步的。

・Stnits2Action对象为每一个请求产生一个实例,因此没有线程安全问题。(实际上,servlel

容器给每个请求产生许多可丢弃的对象,并且不会导致性能和垃圾回收问题)

Servlel依赖:

•Struts1Action依赖于ServletAPI,因为当•个Action被调用时HttpServletRequest和

HttpServleiResponse被传潴给execule方法。

,Struts2Action不依赖于容器,允许Action脱离容器单独被测试。如果需要,Struts2Action

仍然可以访问初始的request和response,,但是,其他的元素减少或者消除了直接访问

HttpServetRequest和HttpSenletResponse的必要性。

可测性:

•测试Struts1Action的一个主:要问题是execute方法暴露\servletAPI(这使得测试要依赖

于容器)。一个第三方扩展StrutsTestCase提供了一套Strutsl的模拟对象(来进行测

试)。

•Struts2Action可以通过初始化、设置属性、调用方法来测试,“依赖注入”支持也使测试

更容易。

捕获输入:

•StrutsI使用ActionForm对象捕获输入。所有的ActionForm必须继承一个基类。因为其

他JavaBean不能用作ActionForm,开发者经常创建多余的类捕获输入。动态Bean

(DynaBcans)可以作为创建传统ActionForm的选择,但是,开发者可能是在重新描述(创

建)己经存在的JavaBean(仍然会导致有冗余的javabean)。

•Struts2直接使用Action属性作为输入属性,消除了对第二个输入对象的需求。输入属性

可能是有自己(子)属性的rich对象类型。Action属性能够通过web页面上的(aglibs访问。

Struts2也支持ActionFomi模式。rich对象类型,包括业务对象,能够用作输入/输出对象。

这种ModelDriven特性简化了taglib对POJO输入对象的引用。

表达式语言:

•Struts1整合了JSTL,因此使用JSTLEL。这种EL有基本对象图遍历,但是对集合和索

引属性的支持很弱。

•Struts2可以使用JSTL,但是也支持一个更强大和灵活的表达式语言一一"ObjectGraph

NotationLanguage"(OGNL).

绑定值到页面(view):

•StrutsI使用标准JSP机制把对象绑定到页面中来访问。

,Struts2使用"ValueSttck"技术,使taglib能够访问值而不需要把你的页面(view)和对

象绑定起来。ValueStack策略允许通过一系列名称相同但类型不同的属性重用页面(view)。

类型转换:

,Struts1ActionForm属性通常都是String类型。Struts1使用Commons-Beanutils进行类型

转换。每个类一个转换器,对每一个实例来说是不可配置的。

•Struts2使用OGNL进行类型转换。提供基本和常用对象的转换器。

92.struts的工作原理可分为如下8步。

1.读取配置(初始化ModuleConfig对象)

Struts框架总控制器(ActionServlet)是一个Servlet,在web.xml中被配置成一个自

动启动的Servlel。读取配置文件sl「uls-cor】ng.xml的配置信息,为不问的SUuls模块

初始化相应的ModuleConfig对象。

2.用户请求

用户提交表单或调用URL向WEB应用程序服务器提交一个请求,请求的数据用HTTP协

议上传给WEB服务器。

3.填充FormBean

(*.do请求)从ActionConfig中找出对应该请求的Action子类,如有对应的Action且

这个Action又个相应的ActionForm,ActionForm被实例化并用HTTP请求的数据填

充其属性,并保存在ServletContext中,这样他们就可以被其它Action对象或JSP调用。

如果没有对应的Action,控制器则直接转发给JSP或静态页面。

4.派发请求

控制器根据配置信息A

温馨提示

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

评论

0/150

提交评论