java选择题编程题集锦文档格式.docx

上传人:b****5 文档编号:21646321 上传时间:2023-01-31 格式:DOCX 页数:45 大小:53.60KB
下载 相关 举报
java选择题编程题集锦文档格式.docx_第1页
第1页 / 共45页
java选择题编程题集锦文档格式.docx_第2页
第2页 / 共45页
java选择题编程题集锦文档格式.docx_第3页
第3页 / 共45页
java选择题编程题集锦文档格式.docx_第4页
第4页 / 共45页
java选择题编程题集锦文档格式.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

java选择题编程题集锦文档格式.docx

《java选择题编程题集锦文档格式.docx》由会员分享,可在线阅读,更多相关《java选择题编程题集锦文档格式.docx(45页珍藏版)》请在冰豆网上搜索。

java选择题编程题集锦文档格式.docx

AFormBean是一种数据bean,主要用来封装表单提交上来的数据,并把这些数据传递给Action

B在FormBean中可以对页面上传递来的参数进行一下格式上的验证,这种验证是一种客户端的验证

C用户每次提交表单,都会产生一个新的FormBean实例

D动态FormBean不能进行验证操作

A

8.以下哪些不是Hibernate的检索方式:

A、导航对象图检索

B、OID检索

C、ORM检索

D、QBC检索

E、本地SQL检索

F、HQL检索

C

9.以下代码定义了一个变量,如何输出这个变量的值

(A)

(B)

(C)

(D)

%>

答案:

A,D

10.EJB有哪些对象?

Remote(Local)接口

Home(LocalHome)接口

Bean类

EnterpriseBeanProvider

ABC

11方法可以进行servlet的调试?

(ABCDE)

A、使用打印语句;

在桌面计算机上运行服务器

B、使用ApacheLog4J

C、使用IDE集成的调试器

D、直接查看HTML源码

E、返回错误页面给客户

12、下面关于servlet的功用说法正确的有哪些?

A、读取客户程序发送来的显式数据

B、读取客户程序发送来的隐式数据

C、生成相应的结果

D、发送显式的数据给客户程序

E、发送隐式的数据给客户程序

13、下面关于session的用法哪些是错误的?

(ABD)

A、HttpSessionsession=newHttpSession();

B、Stringhaha=session.getParameter(“haha”);

C、session.removeAttribute(“haha”);

D、session.setAttribute(“haha”);

14、关于说法正确的有哪些?

(ABC)

A、URL的输出在请求时被插入到JSP页面中

B、不能含有影响整个页面的JSP内容

C、被包含文件改变后不需更改使用它的页面

D、被包含文件更改后,需要手动地更新使用它的页面

15、关于bean的说法正确的有哪些?

(BD)

A、具备一个零参数(空)的构造函数(不是必须的)

B、不应该有公开的实例变量(字段)

C、所有的属性都必须通过getXxx和setXxx方法来访问

D、布尔型的属性使用isXxx,而非getXxx

16、下面关于MVC说法错误的有哪些?

(AC)

A、必须使用复杂的框架

B、使用内建的RequestDispatcher能够很好地实现MVC

C、MVC影响整个系统的设计

D、我们可以用MVC来处理单个请求

17、下面的标签中哪些是JSTL标签?

A、

B、

C、

D、

18、使用Junit测试equals()必须根据哪些属性来进行?

A、反身性

B、对称性

C、传递性

D、一致性

19、以下哪些说法是正确的?

(A)每个HTTP请求对应一个单独的ActionServlet实例

(B)对于每个请求访问HelloAction的HTTP请求,Struts框架会创建一个单独的HelloAction实例。

(C)每个子应用对应一个单独的RequestProcessor实例

(D)每个子应用对应一个单独的web.xml文件

20、ActionFormBean对象是由谁创建的?

(A)标签处理类

(B)ActionServlet

(C)RequestProcessor

(D)Action

21、struts框架,错误的是,面那些说法正确?

AStruts中无法完成上传功能

BStruts框架基于MVC模式

CStruts框架容易引起流程复杂、结构不清晰等问题

DStruts可以有效地降低项目的类文件数目

四、编程题(1、2题各15分,3题20分)

1、利用异常处理机制的方法来制作一个代码程序段。

输入“Iam007”时,打印“亲爱的007,您好”;

输入其他字符串时,打印“对不起,请下次进入”,然后程序结束

importjava.io.*;

publicclassKB

{

publicstaticStringscan()

{

Stringstr="

;

try

BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));

str=buf.readLine();

}

catch(Exceptione){}

returnstr;

}

publicclassMyExceptionTest{

publicstaticvoidexceptionThrow()throwsMyException1{

thrownewMyException1();

publicstaticvoidanotherThrow()throwsMyException2{

thrownewMyException2();

publicstaticvoidmain(Stringargs[]){

try{

Stringstr=KB.scan();

if(str.equals(Iam007))

exceptionThrow();

else

anotherThrow();

}catch(MyException1e1){

e1.printStackTrace();

}catch(MyException2e2){

e2.printStackTrace();

classMyException1extendsException{

MyException1(){

super(亲爱的007,您好);

classMyException2extendsException{

MyException2(){

super(对不起,请下次进入);

2、使用同步函数实现卖100张票。

要求写两个类(主函数类:

MainTest,线程类:

ThreadTest),线程类实现Runnable接口。

publicclassMainTest{

publicstaticvoidmain(Stringargs[])

Threadt=newThread(newThreadTest());

t.start();

classThreadTestimplementsRunnable{

privateinttickets=100;

publicvoidrun(){

while(true)

sale();

publicsynchronizedvoidsale()

if(tickets>

0)

try{

Thread.sleep(10);

}catch(Exceptione)

e.printStackTrace();

System.out.println(Thread.currentThread().getName()+issalingticket+tickets);

3、请完成一个选课系统里注册模块的程序设计:

条件:

学生的持久化类的属性有:

id,username,password,sex,major,class,

课程的持久化类的属性有:

id,coursename,classroom,coursetime,

JSP页面为:

reg.jsp,regok.jsp,regbad.jsp;

完成学生与课程的持久化类的映射文件,设置成级连保存,延迟检索;

写出与注册页面相对应的的Action和ActionForm;

要求ActionForm要对表单中的数据格式进行验证;

Action要对学生的用户名进行唯一验证;

如果没有重复的用户名就可以注册成功,否则失败;

写出检测用户名是否存在的方法;

根据session接口写出相应的方法;

Course.hbm.xml

Student.hbm.xml

StudentCourse.hbm.xml

struts-config.xml

type=com.formbean.RegFormBean/>

type=com.action.RegAction

name=RegFormBean

input=/reg.jsp>

path=/regbad.jsp/>

path=/regok.jsp/>

null=false/>

4.Java编程,打印昨天的当前时刻

publicclassYesterdayCurrent{

publicvoidmain(String[]args){

Calendarcal=Calendar.getInstance();

cal.add(Calendar.DATE,-1);

System.out.println(cal.getTime());

5.文件读写,实现一个计数器

publicintgetNum(){

inti=-1;

Stringstri="

BufferedReaderin=newBufferedReader(newFileReader(f));

while((stri=in.readLine())!

=null){

i=Integer.parseInt(stri.trim());

in.close();

}catch(Exceptione){

returni;

publicvoidsetNum(){

inti=getNum();

i++;

PrintWriterout=newPrintWriter(newBufferedWriter(newFileWriter(f,false)));

out.write(String.valueOf(i));

//可能是编码的原因,如果直接写入int的话,将出现java编码和windows编码的混乱,因此此处写入的是String

out.close();

6.指出下面程序的运行结果:

classA{

static{

System.out.print

(1);

publicA(){

System.out.print

(2);

classBextendsA{

System.out.print(a);

publicB(){

System.out.print(b);

publicclassHello{

publicstaticvoidmain(String[]ars){

Aab=newB();

//执行到此处,结果:

1a2b

ab=newB();

1a2bab

注:

类的static代码段,可以看作是类首次加载(被虚拟机加载)执行的代码,而对于类的加载,首先要执行其基类的构造,再执行其本身的构造

7.写一个Singleton模式的例子

publicclassSingleton{

privatestaticSingletonsingle=newSingleton();

privateSingleton(){}

publicSingletongetInstance(){

returnsingle;

8删除表的重复记录

如果记录完全相同才算重复记录,那么:

(sqlserver2000下测试通过)

selectdistinct*into#tmppfromtid

deletefromtid

insertintotidselect*from#tmpp

droptable#tmpp

如果有id主键(数字,自增1的那种),那么:

(sqlserver2000下测试通过)

deletefromtableAwhereidnotin

(selectid=min(id)fromtableAgroupbyname)

面试和笔试大全

2、String是最基本的数据类型吗

基本数据类型包括byte、int、char、long、float、double、boolean和short。

java.lang.String类是final类型的,因此不可以继承这个类、不能修改这个类。

为了提高效率节省空间,我们应该用StringBuffer类

3、int和Integer有什么区别

Java提供两种不同的类型:

引用类型和原始类型(或内置类型)。

Int是java的原始数据类型,Integer是java为int提供的封装类。

Java为每个原始类型提供了封装类。

原始类型封装类

booleanBoolean

charCharacter

byteByte

shortShort

intInteger

longLong

floatFloat

doubleDouble

引用类型和原始类型的行为完全不同,并且它们具有不同的语义。

引用类型和原始类型具有不同的特征和用法,它们包括:

大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。

对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。

4、String和StringBuffer的区别

JAVA平台提供了两个类:

String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。

这个String类提供了数值不可改变的字符串。

而这个StringBuffer类提供的字符串进行修改。

当你知道字符数据要改变的时候你就可以使用StringBuffer。

典型地,你可以使用StringBuffers来动态构造字符数据。

5、运行时异常与一般异常有何异同?

异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。

java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

6、说出Servlet的生命周期,并说出Servlet和CGI的区别。

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

与cgi的区别在于servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于servlet。

7、说出ArrayList,Vector,LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

8、EJB是基于哪些技术实现的?

并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。

EJB包括SessionBean、EntityBean、MessageDrivenBean,基于JNDI、RMI、JAT等技术实现。

SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。

EntityBean被用来代表应用系统中用到的数据。

对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。

SessionBean还可以再细分为StatefulSessionBean与StatelessSessionBean,这两种的SessionBean都可以将系统逻辑放在method之中执行,不同的是StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。

StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个method。

换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。

从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。

9、Collection和Collections的区别。

Collection是集合类的上级接口,继承与他的接口主要有Set和List.

Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。

10、和的区别。

是位运算符,表示按位与运算,是逻辑运算符,表示逻辑与(and)。

11、HashMap和Hashtable的区别。

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。

HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。

HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。

因为contains方法容易让人引起误解。

Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Mapinterface的一个实现。

最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。

Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

12、final,finally,finalize的区别。

final用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

13、sleep()和wait()有什么区别

sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。

调用sleep不会释放对象锁。

wait是Object类的方法,对此对象调用wait方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

14、Overload和Override的区别。

Overloaded的方法是否可以改变返回值的类型

方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。

子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被屏蔽了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

Overloaded的方法是可以改变返回值的类型。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1