java面试题总汇
2、作用域public,private,protected,以及不写时的区别? 7
6、short s1 = 1; s1 = s1 + 1;有什么错? 7
10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别? 8
12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 8
13、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上? 8
14、编程题: 用最有效率的方法算出2 乘以8 等於几? 8
15、数组有没有length()这个方法? String 有没有length()这个方法? 8
17、构造器Constructor 是否可被override? 8
18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对? 8
21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 9
22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 9
23、String 和StringBuffer 的区别? 9
24、String, StringBuffer StringBuilder 的区别。 9
25、Overload 和Override 的区别。Overloaded 的方法是否可以改变返回值的类型? 9
28、char 型变量中能不能存贮一个中文汉字?为什么? 9
29、abstract class 和interface 有什么区别? 9
30、Static Nested Class 和Inner Class 的不同? 10
32、abstract 的method 是否可同时是static,是否可同时是native,是否可同时是synchronized? 10
34、是否可以从一个static 方法内部发出对非static 方法的调用? 10
35、写clone()方法时,通常都有一行代码,是什么? 10
38、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 10
39、String s=new String(“xyz”);创建了几个String Object? 11
40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)? 11
42、一个“.java”源文件中是否可以包含多个类(不是内部类)?有什么限制? 11
44、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类?是否可以implements(实现)interface(接口)? 11
45、内部类可以引用他包含类的成员吗?有没有什么限制? 11
47、在java 中一个类被声明为final 类型,表示了什么意思? 11
55、编码转换:怎样将GB2312 编码的字符串转换为ISO-8859-1 编码的字符串? 13
56、写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔。 13
64、Collection 和 Collections的区别 16
65、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别 16
67、说出ArrayList,Vector, LinkedList的存储性能和特性 16
68、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类? 16
70、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 16
72、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 16
73、线程的基本概念、线程的基本状态以及状态之间的关系 17
75、socket通信(tcp/udp区别及JAVA的实现方式) 17
77、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 17
80、abstract class Something { private abstract String doSomething ();}这好像没什么错吧? 17
81、public class Something { public int addOne(final int x) { return ++x; }}这个比较明显。 17
83、class Something { int i; public void doSomething() { System.out.println("i = " + i); }} 有什么错呢? 18
92、一般情况下,关系数据模型与对象模型之间有哪些匹配关系(A,B,C) 20
93、以下关于SessionFactory的说法哪些正确?(B,C) 20
94、元素有一个cascade属性,如果希望Hibernate级联保存集合中的对象,casecade属性应该取什么值?(单选)(D) 21
95、以下哪些属于Session的方法?(A,B,C,D,F) 21
98、Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 21
102、Struts工作机制?为什么要使用Struts? 22
103、Struts的validate框架是如何验证的? 23
106、HttpSession session = request.getSession() 23
107、getParameter与 getAttribute的区别? 23
110、.BufferedReader的父类是以下哪个? 24
115、什么情况用HTML控件,什么情况用WEB控件,并比较两者差别 24
123、JSP中动态INCLUDE与静态INCLUDE的区别? 30
130、如何防止在JSP或SERVLET中的输出不被BROWSER保存在CACHE中? 31
138、JSP如何与EJB SessionBean通讯 34
139、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 35
140、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)? 35
141、使用useBean标志初始化BEAN时如何接受初始化参数 35
144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS? 35
145、<%@include file="abc.jsp"%>与<jsp:include page="abc.jsp"/>之间的差别? 35
150、如何在JSP中包括绝对路径文件?
使用URLConnection即可。 36
151、在servlets和JSP之间能共享session对象吗? 36
154、能设置一些代码在我所有的JSP文件之上运行?如果可以,能共享吗? 36
155、对一个JSP页,如果多个客户端同时请求它,同步可能吗? 36
156、在jsp:useBean语法中使用beanName有何好处? 36
157、当我使用<jsp:forward>时,在浏览器的地址栏没有改变? 37
158、如何转换JSP 0.9版本的文件到JSP1.1? 37
160、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 37
168、Prototype如何为一个Ajax添加一个参数? 40
170、Javascript如何发送一个Ajax请求? 40
174、JAVA SERVLET API中forward() 与redirect()的区别? 41
180、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 42
183、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串? 43
185、getServletContext()和getServletConfig()的意思 43
187、JAVA SERVLET API中forward() 与redirect()的区别? 44
189、Can a Java Thread be started from Servlet class, and what will be
the implications? 44
190、What is HTTP Session tracking and why is it important? 44
191、What is session management, and how is it different from session tracking? 45
192、Can I use Hidden form field to track session? 45
195、Why JSP is used as View part of MVC ? 45
197、Class.forName的作用?为什么要用? 46
199、在ORACLE大数据量下的分页解决方法。一般用截取ID方法,还有是三层嵌套方法。 46
201、你在项目中用到了xml技术的哪些方面?如何实现的? 47
202、用jdom解析xml文件时如何解决中文问题?如何解析? 47
204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的区别? 50
207、MVC的各个部分都有那些技术来实现?如何实现? 51
209、WEB SERVICE名词解释。JSWDL开发包的介绍。JAXP、JAXM的解释。SOAP、UDDI,WSDL解释。 51
215、写一个方法,实现字符串的反转,如:输入abc,输出cba 52
232、说出Servlet的生命周期,并说出Servlet和CGI的区别。 54
237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。 55
246、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 56
248、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 56
250、如何查看在weblogic中已经发布的EJB? 56
251、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 56
252、在weblogic中发布ejb需涉及到哪些配置文件 57
253、EJB需直接实现它的业务接口或Home接口吗,请简述理由. 57
254、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 57
255、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法 57
257、金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)->(一千零一拾一元整)输出。 58
261、如何实现struts的validator框架? 58
262、如何在struts中配置数据源在,什么文件?用什么标签?如何取出DataSource? 59
263、Struts框架如何取得消息资源文件中的信息? 59
264、Struts中如何基于validation.xml来启用客户端验证? 60
269、Spring如何配置一个bean来从JNDI得到DataSource 61
283、spring的配置的主要标签是什么?有什么作用? 63
284、spring与ejb2.0的事务管理比较的优缺点? 64
288、在spring中如何配容器的事务管理,相关的类有那些? 65
289、如果spring与hibernate结合在一起可以不需要hibernate.cfg.xml文件是否正确? 65
290、spring+hibernate的配置文件中的主要类有那些?如何配置? 65
291、spring+hibernate的代码实现中,对于实现类一定继承于一个类是那一个,它有什么作用 65
293、如何在web环境中配置applicationContext.xml文件? 66
305、同步和异步有何异同,在什么情况下分别使用他们?举例说明。 69
306、启动一个线程是用run()还是start()? 69
307、线程的基本概念、线程的基本状态以及状态之间的关系 69
308、java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用? 69
309、JSP中动态INCLUDE与静态INCLUDE的区别? 69
311、什么情况下调用doGet()和doPost()? 70
312、JSP和Servlet 有哪些相同点和不同点,他们之间的联系是什么? 70
316、EJB是基于哪些技术实现的?并说出SessionBean和EntityBean的区别,StatefulBean和StatelessBean的区别。 71
318、EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的? 72
319、EJB规范规定EJB中禁止的****作有哪些? 72
325、EJB需直接实现它的业务接口或Home接口吗,请简述理由。 72
327、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 73
328、你在项目中用到了xml技术的哪些方面?如何实现的? 73
329、JAVA SERVLET API中forward() 与redirect()的区别? 73
334、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收? 74
337、什么是Java序列化,如何实现Java 序列化? 75
338、介绍Java中的Collection Framework(包括如何写自己的数据结构)? 75
340、谈谈final, finally, finalize 的区别? 75
341、Static Nested Class 和Inner Class的不同? 76
344、Collection 和Collections的区别? 76
345、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型? 76
346、String与StringBuffer的区别? 76
348、List、Map、Set三个接口,存取元素时,各有什么特点? 77
349、说出ArrayList,Vector, LinkedList的存储性能和特性。 77
350、在Java中一个类被声明为final类型,表示了什么意思? 77
351、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 77
352、String s = new String("xyz");创建了几个String Object? 77
353、Math.round(11.5)等於多少? Math.round(-11.5)等於多少? 77
354、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 77
355、数组有没有length()这个方法? String 有没有length()这个方法? 77
356、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别? 77
357、List, Set, Map是否继承自Collection接口? 77
358、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized? 78
360、构造器Constructor是否可被override? 78
361、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法? 78
362、try {}里有一个return 语句,那么紧跟在这个try后的finally {}里的code 会不会被执行,什么时候被执行,在return前还是后? 78
364、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么? 78
366、是否可以从一个static方法内部发出对非static方法的调用? 78
367、写clone()方法时,通常都有一行代码,是什么? 78
370、给我一个你最常见到的runtime exception。 78
372、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示? 79
373、用JAVA实现一种排序,JAVA类实现序列化的方法(二种)? 如在 COLLECTION框架中,实现比较要实现什么样的接口? 81
374、编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 82
380、ArrayList和Vector的区别, HashMap和Hashtable的区别 83
coreJava部分
1、面向对象的特征有哪些方面?
1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。
2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。
3)封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。
4)多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
2、作用域public,private,protected,以及不写时的区别?
区别如下:
作用域 当前类 同包 子孙类 其他
public √ √ √ √
protected √ √ √ ×
default √ √ × ×
private √ × × ×
不写时默认为default。
3、String 是最基本的数据类型吗?
不是。
4、float 型float f=3.4是否正确?
不正确;精度不准确,应该用强制类型转换,如下所示:float f=(float)3.4 。
5、语句float f=1.3;编译能否通过?
不能;应该用强制类型转换,如下所示:float f=(float)1.3; 。
6、short s1 = 1; s1 = s1 + 1;有什么错?
short s1 = 1; s1 += 1;有什么错?
short s1 = 1; s1 = s1 + 1;s1+1运算结果是int 型,需要强制转换类型;
short s1 = 1; s1 += 1;可以正确编译,自动类型提升。
7、Java 有没有goto?
goto 是java 中的保留字,现在没有在java 中使用。
8、int 和Integer 有什么区别?
Java 提供两种不同的类型:引用类型和原始类型(或内置类型);
int 是java 的原始数据类型,Integer 是java 为int 提供的封装类。
Java 为每个原始类型提供了封装类:
原始类型: boolean,char,byte,short,int,long,float,double
封装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。
9、&和&&的区别?
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
10、简述逻辑操作(&,|,^)与条件操作(&&,||)的区别?
区别主要有两点:a.条件操作只能操作布尔型的,而逻辑操作不仅可以操作布尔型,而且可以操作数值型b.逻辑操作不会产生短路。
11、heap 和stack 有什么区别?
栈是一种线形集合,其添加和删除元素的操作应在同一段完成,栈按照后进先出的方式进行处理;堆是栈的一个组成元素。
12、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少?
Math.round(11.5)==12 Math.round(-11.5)==-11 round 方法返回与参数最接近的长整数,参数加1/2 后求其floor。
13、swtich 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
switch(expr1)中,expr1 是一个整数表达式。因此传递给switch 和case语句的参数应该是int、short、char 或者byte。long,string 都不能作用于swtich。
14、编程题: 用最有效率的方法算出2 乘以8 等於几?
2 << 3。
15、数组有没有length()这个方法? String 有没有length()这个方法?
数组没有length()这个方法,有length 的属性。String 有length()这个方法。
16、在JAVA 中,如何跳出当前的多重嵌套循环?
在最外层循环前加label 标识,然后用break:label 方法即可跳出多重循环。
17、构造器Constructor 是否可被override?
构造器Constructor 不能被继承,因此不能重写Overriding,但可以被重载Overloading。
18、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
不对,有相同的hash code。
19、是否可以继承String 类?
String 类是final 类,故不可以继承。
20、以下二条语句返回值为true 的有:
A:“beijing”==“beijing”;
B:“beijing”.equalsIgnoreCase(new String(“beijing”));
A 和B 。
21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
是值传递。Java 编程语言只有值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。
22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种编码的字符串?
new String(str.getBytes("ISO-8859-1"), "GBK");
23、String 和StringBuffer 的区别?
JAVA 平台提供了两个类:String 和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String 类提供了数值不可改变的字符串。而这个StringBuffer 类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers 来动态构造字符数据。
24、String, StringBuffer StringBuilder 的区别。
String 的长度是不可变的;
StringBuffer 的长度是可变的,