cabdbbabcdbdbabdabcbbbcccccbbccaabcdefabccaccBddjava面试题一.选择题(每题1分)1.jsp有几个内置对象?(c)(单选)A5个B6个C9个D8个2.在JAVA中,如何跳出当前的多重嵌套循环?(ab)(多选)AbreakBreturnCforwardDfinally3.四种会话跟踪技术,哪个范围最大?(d)(单选)ApageBrequestCsessionDapplication4.java中有几种方法可以实现一个线程?(b)(单选)A1种B2种C3种D4种5.同步有几种实现方法(b)(单选)A4种B2种C3种D1种6.xml有哪些解析技术?(abcd)(多选)ADOMBSAXCSTAXDJDOM7.下列说法正确的是()(多选)A构造器Constructor可被继承BString类不可以继承C判断两个对象值相同用“==”Dchar型变量中能不能存贮一个中文汉字8.下面说法错误的是()(单选)AVector是线程安全的Bfloatf=3.4是正确的CStringBuffer的长度是可变的DStringBuffer的长度是不可变的9.下列关于集合的说法正确的是()(多选)AList的具体实现包括ArrayList和VectorBMap集合类用于存储元素对(称作键和值),其中每个键映射到一个值CSet的元素是有序的DHashtable是线程安全的。10.下列关于线程说法正确的是()(多选)A调用sleep不会释放对象锁。B调用wait方法导致本线程放弃对象锁C当一个线程进入一个对象的一个synchronized方法后,其它线程不可进入此对象的其它方法Dnotify():唤醒全部处于等待状态的线程。11.给定JSP程序源码如下,该JSP运行后输出的结果是()。(单选)html%intCount=1;%Count:%=++Count%/htmlACount:1BCount:2C1:2DCount:12在J2EE中的一个JSP文件中,有表达式%=2+3%,它将输出()(单选)a)2+3b)5c)23d)不会输出,因为表达式是错误的13在J2EE中,JSTL提供条件标签以支持JSP页面的各种条件,其中()类似于Java语言的switch语句。(单选)a)c:ifb)c:choosec)c:whend)c:forEach14.在进行JavaWeb开发时,假定一个变量保存在session中,要获得这个变量的值,可以使用以下()语句。(单选)a)application.getAttribute(“name”)b)pageContext.getAttribute(“name”)c)session.getAttribute(“name”)d)config.getInitParameter(“name”)15)在J2EE中,编写Servlet过滤器时,()接口用于调用过滤器链中的下一个过滤器。()(单选)a)Filterb)FilterConfigc)FilterChaind)Servlet16)关于视图的描述正确的是()(单选)a)视图是一种特殊的表,它存储了用户定制的数据。b)视图仅用于用户进行查询,不可以通过视图对数据进行修改。c)在sqlserver中可以通过用T-sql语句来创建,也可以通过企业管理器。d)创建视图只能操作本机器上的数据库表。17)STRUTS框架中,()类在视图层和控制层之间传递HTML表单数据。(单选)a)Actionb)ActionForwardc)ActionFormd)ActionServlet18)Struts控制器的主要任务是接受用户请求、根据用户请求调用对应的模型组件、获取业务逻辑执行结果的根据处理结果选择适合的视图组件返回给用户,实现Struts控制器的类中不包括()。(单选)a)ActionServletb)Actionc)ActionFormd)ActionForward19)在OOD中,类和接口之间的关系称之为()。(单选)a)泛化b)实现c)关联d)继承20)以下关于SessionFactory的说法哪些正确?()(多选)A)对于每个数据库事务,应该创建一个SessionFactory对象B)一个SessionFactory对象对应一个数据库存储源。C)SessionFactory是重量级的对象,不应该随意创建。如果系统中只有一个数据库存储源只需要创建一个。D)SessionFactory的load()方法用于加载持久化对象21)关于AOP错误的()(单选)A)AOP将散落在系统中的“方面”代码集中实现B)AOP有助于提高系统可维护性C)AOP已经表现出将要替代面向对象的趋势D)AOP是一种设计模式,Spring提供了一种实现22)依赖注入说法正确的(单选)A)依赖注入的目标是在代码之外管理程序组建间的依赖关系B)依赖注入即是“面向接口”的编程C)依赖注入是面向对象技术的替代品D)依赖注入的使用会增大程序的规模23)以下哪些属于Session的方法?()(多选)A)load()B)save()C)delete()D)update()E)open()F)close()24)下面那些是Hibernate的查询方式()(多选)A)sqlB)hqlC)Criteria25)以下数据结构不属于线性结构的是()(单选)A)队列B)线性表C)二叉树D)栈26)下列是文件读写的类是()(多选)A)FileReaderB)FileC)FileWriterD)InputStream27)数据库技术中的“脏数据',是指()的数据。(单选)A)错误B回返C未提交D未提交的随后又被撤消28)在计算机中,—个字节是由多少个二进制位组成的()(单选)A).4B).8C).16D).2429)设正x、y均为整型变量,且x=10y=3,则以下语句printf(%d,%d\n,x--,--y);的输出结果是()(单选)A).10,3B).9,3C).9,2D).10,230)下列不属于面向对象的方法是()(单选)A).对象B).类C).继承D).过程调用二.填空(每空1分)1.Strings=newString(xyz);创建了_____个String对象?2.Math.round(9.5)等於_____Math.round(-9.5)等於______3.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会被执行,什么时候被执行,在return_________(前还是后?)4.如何现实servlet的单线程模式_______________5.类变量必须带的修饰符是_______________6.final类可以修饰在属性,方法和_______前面7.Java默认的包是___________________8.Hibernate里面怎样实现类与类之间的关系__________________________________9.Socket编程服务器端用____________类来创建socket对象三.判断题(每题2分)1.依赖注入即是“面向接口”的编程。2.Overload和Override都是java多态的不同体现形式。3.String是最基本的数据类型4.启动一个线程是用start()5.接口可以继承接口四.简答题(每题4分)1.下列程序打印结果是int[]arr={1,3,3,2,8};Stringstr=“”;inti=0;publicvoiddoIt(){for(;iarr.length;){if(arr[i]arr[i+1]){str=arr[i]+arr[i+1]+str;break;}elseif(arr[i]arr[i+1]){str=arr[i]+str+arr[i+1];i++;continue;}else{str+=arr[i];i++;}}System.out.println(i);System.out.println(str);}2.将会打印出什么?packagetest;publicclassFatherClasspublicFatherClass(){System.out.println(FatherClassCreate);}类:packagetest;importtest.FatherClass;publicclassChildClassextendsFatherClasspublicChildClass(){System.out.println(ChildClassCreate);}publicstaticvoidmain(String[]args){FatherClassfc=newFatherClass();ChildClasscc=newChildClass();}}输出结果:3.下列程序对还是错,如果错请说明原因!abstractclassName{privateStringname;publicabstractbooleanisStupidName(Stringname){}4.表:table1(FId,Fclass,Fscore),用最高效最简单的SQL列出各班成绩最高的列表,显示班级,成绩两个字段。5.下面程序运行结果是String[]arr1={”a”,”b”,”1″,”c”,”b”};Listlst1=newArrayListString();lst1.add(”d”);Collections.addAll(lst1,arr1);System.out.println(lst1);SetStringset1=newHashSetString();set1.add(”d”);Collections.addAll(set1,arr1);System.out.println(set1);运行结果:四.编程题(每题6分)1.写一个Singleton出来2一个表td中的部分Id有多个记录,把所有有多个记录的id查出来,并显示共有多少条记录数。3给你个字符串String=“abcdefg”,请你把它倒序输出。4.写出冒泡排序的实现5编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,应该输出为“我ABC”而不是“我ABC+汉的半个”。一。cabdbbabcdbdbabdabcbbbcccccbbccaabcdefabccaccBdd二。210-9前%@pageisThreadSafe=false%static类java.lang.*表映射serverSocket三。错对错对对四。(1)i=2;str=5133(2)。fatherClassCreatefatherClassCreatehildClassCreate(3)。答案:错。abstractmethod必须以分号结尾,且不带花括号(4)。selectfclass,max(fscore)fromtable1groupbyfclass,fid(5)。d,a,b,1,c,b五。1.有2种只要写一个即可。第一种:publicclassSingleton{privateSingleton(){}privatestaticSingletoninstance=newSingleton();publicstaticSingletongetInstance(){returninstance;}}第2种publicclassSingleton{privatestaticSingletoninstance=nullpublicstaticsynchronizedSingletongetInstance(){if(instance==null)instance=newSingleton();returninstance;}}2.2个写一个即可。selectid,Count(*