当前位置:文档之家› JavaEE最新面试题2

JavaEE最新面试题2

JavaEE最新面试题2
JavaEE最新面试题2

JAVAEE面试笔试题

26、空字符串("")和null的区别?

答:空字符串是String类的一个对象,而null是指一个引用变量没有引用对象,在值为null的引用变量上调用方法或变量,将会导致NullPointerException。通过以下代码来验证变量x是否为null,x == null,通过"".equals(x)来验证x是否为空字符串。

25、静态变量和实例变量的区别?

答:静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。

24、当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对?

答:对。但是在Java中建议,当x.equals(y)等于true时,x.hashCode()与y.hashCode()也相等。

23、列举几个常见的RuntimeException的子类?

答:ArithmeticException、NullPointerException、IndexOutOfBoundsException、ClassCastException、ArrayStoreException

22、Java有没有goto?

答:Java没有使用goto关键字,但它是Java的保留字。

21、在Java中char类型的变量占用几个字节?char类型的变量能不能存储一个中文汉字?

答:在Java中char类型的变量占用2个字节,char类型变量采用Unicode 编码。可以存储一个汉字,但不是所有的汉字都能存储,你想想,汉字至少10万个,而Unicode占用两个字节,最多能存储6万多个。

20、有如下代码:

try {

代码1

return 1;

}finally{

代码2

return 2;

}

问,代码2是否会被执行?若会被执行,是try里的return语句先执行还是finally里的代码先执行?最后该代码片段的返回值是1还是2?答:代码2会被执行,因为finally里的代码总会被执行。

finally里的代码会在return 1;之后被执行。

既然finally里的代码会在return 1;之后被执行,所以return 2;覆盖return 1;返回2。

19、有如下方法的定义:

public static int getNumber(int a){

int b = 0;

try {

b = 10/a;

return b;

} catch (Exception ex) {

b = 100;

return b;

}finally{

b = 1000;

return b;

}

}

在main方法中调用以上方法,如下:System.out.println(getNumber(10)); System.out.println(getNumber(0));

结果是多少?

答:1000 和1000 。

18、有如下方法的定义:

public static int getNumber(int a){

int b = 0;

try {

b = 10/a;

return b;

} catch (Exception ex) {

b = 100;

return b;

}

}

在main方法中调用以上方法,如下:System.out.println(getNumber(10)); System.out.println(getNumber(0));

结果是多少?

答:1 和100 。

17、用最有效率的方法算出2乘以8等於几?

答:用位运算,2<<3

16、switch能否作用在byte上,能否作用在long上,能否作用在String 上?

答:能作用在byte上,不能作用在long或String上。

15、Math.round(11.5)等于多少? Math.round(-11.5)等于多少? Math.round(-11.7)等于多少? Math.round(11.3)等于多少?

答:Math.round(11.3) 等于11

Math.round(11.5) 等于12

Math.round(-11.5) 等于-11

Math.round(-11.7) 等于-12

速记:距离11.3最近的整数,是11。距离11.5最近的整数,有两个11和12,取大。距离-11.7最近的整数,是-12(别告诉我是-11)。距离-11.5最近的整数,有两个-11和-12,取大-11(也别和我说-12比-11大)。14、解释一下&和&&的区别?

答:&和&&都可以作为逻辑运算符,但还是有区别的,&&是短路与。单独运行以下两行代码:

System.out.println(false & (1/0 == 0)); 抛出异常

System.out.println(false && (1/0 == 0)); 打印出false

&作为逻辑运算符时,即使第一个操作符是false,那么它仍然会计算第

二个操作符。&&短路与,如果第一个操作符为false,那么它不会再去计算第二个操作符。另外&还是一个按位与运算符,请看以下代码:System.out.println(5 & 4); 打印出4,结果怎样计算呢?将它们转换成二进制数据,一目了然。

00000101 & 00000100 = 00000100

13、解释一下int和Integer有什么区别?

答:int 是原始数据类型,而Integer是引用数据类型,是int的包装类。Java中的八种原始数据类型都有对应的包装类,boolean-- Boolean char--Character byte--Byte short--Short long--Long float--Flo at double--Double。int和Integer是可以相互转换的如:

int a = 1; Integer in = new Integer(a);

Integer in = new Integer(10); int i = in.intValue();

JDK5.0支持自动包装和自动解包,以下代码与以上完成相同的功能:int a = 1; Integer b = a;

Integer c= new Integer(10); int d = c;

12、介绍什么是JDK?什么是JRE?

答:有关JDK的介绍,点此链接参见Java EE常见面试题第1题。JRE是Java的运行环境,不包含编译、调试环境。如果你只是运行一个Java程序,那么安装JRE就够用了。

11、一个Java源文件中是否可以定义多个类?接口和类是否可以定义在

一个源文件中?

答:一个源文件中可以定义多个类,但只能有一个类是public。接口和类也可以定义在一个源文件中,同样也只能有一个是public。

10、String、StringBuffer、StringBuilder有什么区别?

答:String 类代表字符串。Java 程序中的所有字符串字面值(如"abc" )都是String类的对象。字符串是常量;它们的值在创建之后不能改变。所以可以共享它们。StringBuffer是字符串缓存区,它的内容可以被修改,长度也可以改变,StringBuffer类是线程安全的,也就是说多个线程可以安全的访问StringBuffer对象。StringBuilder与StringBuffer类似,都是字符串缓冲区,但StringBuilder不是线程安全的,如果你只是在单线程中使用字符串缓冲区,那么StringBuilder的效率会更高些。值得注意的是StringBuilder是在JDK1.5版本中增加的。以前版本的JDK不能使用该类。

9、short s1 = 1;s1 = s1 + 1;是否有错?short s1 = 1;s1 += 1;是否有错?

答:short s1 = 1;s1 = s1 + 1;有错误,s1 + 1 是int类型,不能赋值给short 类型。short s1 = 1;s1 += 1;正确。

8、接口是否可以继承接口?抽象类是否可以实现接口?抽象类是否可以继承实体类(非抽象类)?一个类是否可以继承多个类?

答:接口可以继承接口,但是只能继承一个。

抽象类可以实现接口。

抽象类可以继承实体类。

一个类不可以继承多个类,Java只允许单一继承,可以实现多个接口。

7、一个类的构造方法是否可以被重载(overloading),是否可以被子类重写(overriding)?

答:构造方法可以被重载,但是构造方法不能被重写,子类也不能继承到父类的构造方法。

6、如何防止一个类被其它类继承?

答:定义一个类时将该类声明为final class。

或者将此类的所有构造方位声明为private。

5、如何获得静态数组的长度?如何获得字符串的长度?

答:使用数组变量的length属性。使用字符串变量的length()方法。

4、谈一谈final关键字的作用?

答:final class 表示此类不允许有子类。

final virable 表示一个常量。

final method 表示一个方法不能被重写。

3、String类是否可以被继承?

答:String 类是final类,不可以被继承。

2、Java语言中有哪些基本数据类型,String是不是基本数据类型?答:有八种基本数据类型(有的资料也称为原始数据类型),分别是byte short int long float double boolean char。String不是基本数据类型,是引用数据类型。

1、面向对象编程的三个基本特性是什么?

答:封装、继承和多态。

5、介绍一下数据库连接池的优点和原理?

答:作用:提高程序的运行效率,能够支持更多的用户。方便监视连接的数量和使用情况。原理:在应用程序启动时建立一定数量的连接,并将这些连接通过某种机制组成一个池,当应用程序需要连接时可以动态的从池中获取或向池中释放连接。

4、web.xml文件的作用是什么?

答:web.xml文件是WEB应用程序配置文件,存放了JSP、Servlet、Listener、Filter、错误页面、安全约束等信息。

3、JSP页面中errorPage的作用是什么?

答:可以给一个页面定义异常页面,这样当该页面发生异常时,就会调用异常页面,有两种方式定义异常页面:

在JSP页面中通过<%@ page errorPage="error.jsp"%>指令。

在web.xml文件中通过标签。

2、描述一下JSP和Servlet的相同点和不同点?

答:相同点:都能产生动态网页,另外从技术上讲JSP仍然是Servlet。不同点:它们的侧重点是不同的,JSP更侧重于数据的显示,Servlet 侧重于控制。

1、介绍什么是Java SE、Java EE、Java ME?

答:JDK(Java Develpment Kit)是Java开发工具包,包括Java程序的编译、调试、运行及类库,至今发布的最高版本为6.0,Sun公司将Java 应用分为3个领域:

标准版:Java SE(Java Standard Edition)

企业版:Java EE(Java Enterprise Editon)

移动版:Java ME(Java Mobile Edition)

注:在JDK5.0前,称为J2SE、J2EE、J2ME。

我们可以从类库的角度来做简单的区分:

Java SE包含基本的类库,如https://www.doczj.com/doc/548997533.html,ng、java.io、javax.swing等。刚开始学习Java时我们用的就是Java SE版本。

Java EE包含开发分布式应用程序的类库,如:javax.servlet、javax.mail、javax.ejb等。当我们学习了Web应用程序、EJB等,用

的就是Java EE版本。Java EE比较复杂,包含了许多技术,Java SE 是基础。

Java ME也包含了一些类库,没有做过相关开发,不大清楚。

26、空字符串("")和null的区别?

答:空字符串是String类的一个对象,而null是指一个引用变量没有引用对象,在值为null的引用变量上调用方法或变量,将会导致NullPointerException。通过以下代码来验证变量x是否为null,x == null,通过"".equals(x)来验证x是否为空字符串。

25、静态变量和实例变量的区别?

答:静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。

实例变量属于该类的对象,必须产生该类对象,才能调用实例变量。

24、当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对?

答:对。但是在Java中建议,当x.equals(y)等于true时,x.hashCode()与y.hashCode()也相等。

23、列举几个常见的RuntimeException的子类?

答:ArithmeticException、NullPointerException、IndexOutOfBoundsException、ClassCastException、ArrayStoreException

22、Java有没有goto?

答:Java没有使用goto关键字,但它是Java的保留字。

21、在Java中char类型的变量占用几个字节?char类型的变量能不能存储一个中文汉字?

答:在Java中char类型的变量占用2个字节,char类型变量采用Unicode 编码。可以存储一个汉字,但不是所有的汉字都能存储,你想想,汉字至少10万个,而Unicode占用两个字节,最多能存储6万多个。

Java面试题带答案

湖南世杰Java工程师面试题 选择题: 单选题 1,以下java程序代码,执行后的结果是( ) map= ("name",null); ("name","Jack"); 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b);

+","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { (y); y = x; } } A: A,A B: A,B C: B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B 4,关于spring说法错误的是( )

A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring可以实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,可以使用以下哪个语句( ) A: (“key”,”value”) B: (“key”,”value”) C: (“key”) D: (“key”) 答案:B 6,关于以下程序代码的说明正确的是( ) Public class HasStatic{ Private static int x = 100; Public static void main(String args[]){ HasStatic hs1= new HasStatic();

java面试题

Java试题 一、选择题(10×3分共30分) 1、以下程序的输出结果是多少? public class Inc { /** *@param args */ public static void main(String[] args) { Inc inc = new Inc(); int i = 5; inc.fermin(i); i = i++; System.out.println(i); } void fermin(int i){ i++; } } A.编译错误 B. 输出为6 C. 输出为5 D. 输出为7 2请问运行下面的程序会打印出的是什么? List list=new ArrayList(); list.add("a"); list.add("b"); list.add("a"); Set set=new HashSet(); set.add("a"); set.add("b"); set.add("a"); System.out.println(list.size()); System.out.println(set.size()); A.3 2 B. 3 3 C. 2 3 D. 2 2 3请输出以下结果 /** *@param args

*/ public static void main(String[] args) { String str = new String("World"); char ch[] = {'H','e','l','l','o'}; change(str,ch); System.out.print(str + " and "); System.out.println(ch); } public static void change(String str,char ch[]){ str = "change"; ch[0] = 'C'; } A. World and Cello B. change and Cello C. World and Hello D. change and Hello 4给定下面的程序 public class Sytch{ int x = 2000; public static void main(String args[]){ System.out.println("Please pay $"+x); } } 如果用命令行参数java Sytch Jones Diggle编译和运行上面的程序,结果怎样? A 编译错误 B Please pay $ 2000 C java Sytch Jones Diggle D Please pay $ java Sytch Jones Diggle 5.以下整个过程中共产生过多少个对象? String A,B,C; A = "a"; B = "b"; A = A + B; StringBuffer D = new StringBuffer("abc"); D = D.append("567"); A.5 B. 6 C. 4 D. 3 6 Which of the following lines of code will compile without error? A. int i=0;

Java面试题大全(答案版)

一个".java"源文件中是否可以包括多个类(不是内部类)?有 什么限制? 可以,但是只能有一个类用public修饰,并且用public修饰的类名与文件名要一致 2、&和&&的区别。 &和&&都可以用作逻辑与; &&还具有短路功能,即如果第一个表达式的结果为false,则不再计算第二 个表达式; &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。 3、J ava有没有goto? java中的保留字,现在没有在java中使用。 4、在JAVA中,如何跳出当前的多重嵌套循环? break+变量控制与return 5、s witch是否能作用在byte(拜特)上,是否能作用在long上,是否能作用在Stri ng 上? Switch可以作用在int上,而byte可以隐式转换为int所以能作用在byte 上 不能作用在long上,也不能作用在String上 6、s hort s1 = 1; s1 = s1 + 有什么错? short s1 = 1; s1 += 有什么错? 1在java中为int数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。s1+=1不会报,因为JVM会对它特殊处理(自动强转) 7、char型变量中能不能存贮一个中文汉字?为什么? 可以,char型变量是用来存储uni code(依妮Q特)编码的,而uni code编码包含了中文,所以是可以保存的

&编程题:用最有效率的方法算出2乘以8等於几? 2<<3,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方, 左移运算,CPU直接支持,所以是最有效率的 9、请设计一个一百亿的计算器 思路:用两个数组分别保存两个操作数,再新建一个数组保存结果。 0、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 引用变量不能变 1、"=="和equals方法究竟有什么区别? ==和equals方法都可以用来比较两个对象是否是同一个对象。 ==还可以比较两个变量的值是否相等。 equals是Object类中的方法,可以由子类重写此方法,实现内容相等。 2、静态变量和实例变量的区别? 语法上不同:静态变量前要加static关键字,实例变量不需要 程序运行时不同:实例变量是属于某个对象的,只有创建了对象,才会为这个对象的实例变量分配空间。静态变量是属于类的,当程序加载了这个类的字节码文件,就会为静态变量分配空间,并且所有对象共享这个变量 3、是否可以从一个static方法内部发出对非static方法的调用? 不可以,非static方法需要与对象关联在一起的,而static方法调用时不需要对象,可以直接调用,也就是说调用static方法时,可能还没有创建任何实例 4、Integer与int的区别 int是java中的8种基本数据类型之一,默认值是0, Integer是int的包装类, 默认值是null,即Integer可以表示未赋值和赋值为0

Java面试题带答案

J a v a面试题带答案 Document number:BGCG-0857-BTDO-0089-2022

湖南世杰Java工程师面试题 选择题: 单选题 1,以下java程序代码,执行后的结果是( ) map= ("name",null); ("name","Jack"); 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b);

+","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { (y); y = x; } } A: A,A B: A,B C: B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B

4,关于spring说法错误的是( ) A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring可以实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,可以使用以下哪个语句( ) A: (“key”,”value”) B: (“key”,”value”) C: (“key”) D: (“key”) 答案:B 6,关于以下程序代码的说明正确的是( ) Public class HasStatic{ Private static int x = 100; Public static void main(String args[]){

java面试题-2(含答案)

Java基础面试题(2) 1.抽象类和接口的区别是什么? 有以下几点区别: 1).抽象类里可以有抽象方法,也可有非抽象方法,接口中只能有抽象方法 2).接口中的方法默认的访问修饰符为public abstract,此修饰符可以省略,而 抽象类中的抽象方法必须有abstract修饰 3).抽象类中可以有构造方法,接口中不能有构造方法 4).抽象类只能继承一个父类,而接口可以继承多个接口 2.构造方法能否被重写?能否被重载? 构造方法不能被重写,但可以被重载 3.java中实现多态的机制是什么? Java实现多态的机制: 1)在一个类中通过方法的重载实现多态 2)通过子类继承父类或者实现接口,子类能够重写父类或接口中的方法 4.Error与Exception有什么区别? Error是致命性错误,例如JVM错误 Exception是异常,能捕获并进行处理,分为编译时异常和运行时异常, 运行时异常可以使用try.catch,final进行处理,或者通过throw关键字抛出 5.Strings=newString("xyz");创建了几个String对象? 两个,一个是值为“xyz”的对象,一个是指向“xyz”的引用对象s。 6.说说String与StringBuffer的区别 String是不可变的,当要对字符串内容进行修改时,使用String,会在内存中开辟新内存空间,产生新的字符串对象来存储修改后的内容,而使用StringBuffer则不会,它可以直接在原始StringBuffer对象上直接修改字符串内容,然后保存到原始对象中去,不需要重新开辟内存空间,因此如果要频繁修改字符串时,应使用StringBuffer 7.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后? 会执行,在return前 8.列举5个常见的RunTimeException 1)空指针异常:NullPointerException 2)类型转换异常:ClassCastException 3)数据格式化异常:NumFormatException 4)下标越界异常:IndexOutOfBoundsException 5)算术运算异常:ArithmeticException 9.说说ArrayList和Vector的区别 1)Vector是线程同步的,而ArrayList不是线程同步的 2) 当Vector或ArrayList中的元素超过它的初始大小时,Vector的容量会变为原来的两倍,而ArrayList只增加50%的大小,有利于节约内存空间。 10. java中有几种方法可以实现一个线程?

JAVA面试题汇总

目录 概念题 ---------------------------------------------------------------------------------错误!未定义书签。 一、JAVA基础 ------------------------------------------------------------------------------ 错误!未定义书签。 1)面向对象的特征 --------------------------------------------------------------------------------------- 错误!未定义书签。 2)什么是OOP?什么是类?请对比类和对象实例之间的关系。 ----------------------- 错误!未定义书签。 3)简述类与对象的概念 -------------------------------------------------------------------------------- 错误!未定义书签。 4)什么是属性与方法? -------------------------------------------------------------------------------- 错误!未定义书签。 5)什么是封装? ------------------------------------------------------------------------------------------ 错误!未定义书签。 6)描述一下JVM加载class文件的原理机制 --------------------------------------------------- 错误!未定义书签。 7)Java程序怎么优化? -------------------------------------------------------------------------------- 错误!未定义书签。 8)一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?----- 错误!未定义书签。 9)char型变量中能不能存贮一个中文汉字 ----------------------------------------------------- 错误!未定义书签。 10)逻辑操作符(&,|,^)与条件操作符(&&,||)的区别--------------------------------------- 错误!未定义书签。 11)Math.round(11.5)等於多少? Math.round(-11.5)等於多少? ------------------------- 错误!未定义书签。 12)Java有没有goto?-------------------------------------------------------------------------------- 错误!未定义书签。 13)int 和Integer 的区别 --------------------------------------------------------------------------- 错误!未定义书签。 14)如何将数值型字符转换为数字?如何去小数四舍五入保留小数点后两位。错误!未定义书签。 15)short s1 = 1; s1 = s1 + 1;和short s1 = 1; s1 += 1;有什么错误 -------------------------- 错误!未定义书签。 16)float f=3.4是否正确? ----------------------------------------------------------------------------- 错误!未定义书签。 17)String 和StringBuffer的区别 ------------------------------------------------------------------ 错误!未定义书签。 18)String是否是最基本的数据类型,能否被继承 ----------------------------------------- 错误!未定义书签。 19)String s = new String("xyz");创建了几个String Object? ------------------------------- 错误!未定义书签。 20)数组有没有length()这个方法? String有没有length()这个方法? ---------------- 错误!未定义书签。 21)排序都有哪几种方法?用JAVA实现一个快速排序 ----------------------------------- 错误!未定义书签。 22)swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上--- 错误!未定义书 签。 23)在JAVA中,如何跳出当前的多重嵌套循环? ------------------------------------------ 错误!未定义书签。 24)关于日期和时间的几个问题------------------------------------------------------------------- 错误!未定义书签。 25)一个对象被当作参数传递到一个方法,是值传递还是引用传递----------------- 错误!未定义书签。 26)什么时候用assert?------------------------------------------------------------------------------ 错误!未定义书签。 27)GC是什么? 为什么要有GC? ---------------------------------------------------------------- 错误!未定义书签。 28)垃圾回收的优点和原理 ------------------------------------------------------------------------- 错误!未定义书签。 29)垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?错误!未定义书 签。 30)java中会存在内存泄漏吗,请简单描述 -------------------------------------------------- 错误!未定义书签。 31)java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,他们分别是哪些 类?错误!未定义书签。 32)文件和目录(I/O)操作 ------------------------------------------------------------------------ 错误!未定义书签。 33)什么是java序列化?如何实现java序列化?------------------------------------------- 错误!未定义书签。

java笔试题及答案

java笔试题及答案(必背) 来源:黄德洋的日志 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√ × × private √××× 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实 现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static 内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的

Java面试题集(最全版)

目录表 第一章技巧篇 2 介绍自己2 行为2 第二章智力篇 3 微软面试题 3 第三章 Java篇5 Java基础方面--概念 5 Java基础方面—线程编程方面12 Java基础方面—编程 14 第四章 Jsp篇30 第五章 Servlet篇31 第六章应用服务器篇37 第七章 J2EE,MVC篇38 第八章设计模式方面篇40 第九章 Hibernate程序性能优化篇41 Hibernate程序性能优化 45

Hibernate 优化47 Hibernate优化的几点建议51 Hibernate性能优化52 第十章数据库篇55 第一套数据库笔试题及答案 55第二套数据库笔试题及答案 64

第一章技巧篇 介绍自己 1、自我认识 想一矢中的,首先必须认清自我,一定要弄清以下三个问题。你现在是干什么的?你将来要干什么?你过去是干什么的? 这三个问题不是按时间顺序从过去到现在再到将来,而是从现在到将来再到过去。其奥妙在于:如果你被雇用,雇主选中的是现在的你,他希望利用的是将来的你,而这将来又基于你的历史和现状。 所以,第一个问题,你是干什么的?现在是干什么的?回答这个问题,要点是:你是你自己,不是别的什么人。除非你把自己与别人区别开来,在共同点的基础上更强调不同点,否则你绝无可能在众多的应征求职者中夺魁。对于这第一个问题,自我反省

越深,自我鉴定就越成功。 随后,着手回答第二个问题:你将来要干什么?如果你申请的是一份举足轻重的工作,雇主肯定很关注你对未来的自我设计。你的回答要具体,合理,并符合你现在的身份,要有一个更别致的风格。 然后,再着手回答最后一个问题:你过去是干什么的?你的过去当然都在履历上已有反映。你在面试中再度回答这个问题时,不可忽略之处是:不要抖落一个与你的将来毫不相干的过去。如果你中途彻底改行,更要在描述你的执着、职业目标的一贯性上下些功夫。要做到这一点,又要忠实于事实和本人,最简单的方法是:找到过去与将来的联系点,收集过去的资料,再按目标主次排列。 用这样的方法,以现在为出发点,以将来为目标,以过去为证实,最重要的是加深了你的自我分析和理解。其实,在面试的时候不一定有机会或者有必要照搬你的大作,但这三个问题的内在联系点一定会体现在自我表述的整体感觉中,使你的形象栩栩如生。 2、投其所好 清楚自己的强项后,便可以开始准备自我介绍的内容:包括工作模式、优点、技能,突出成就、专业知识、学术背景等。

java经典面试题汇总

Java基础方面: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√ × friendly √√ × × private √ × × × 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和 Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JA V A的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和 Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的 7、String s = new String("xyz");创建了几个String Object 答:两个,一个字符对象,一个字符对象引用对象 8、Math.round(11.5)等於多少? Math.round(-11.5)等於多少 答: Math.round(11.5)==12;Math.round(-11.5)==-11;round方法返回与参数最接近的长整数,参数加1/2后求其floor 9、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;(可以正确编译) 10、Java有没有goto 答:java中的保留字,现在没有在java中使用 11、数组有没有length()这个方法? String有没有length()这个方法 答:数组没有length()这个方法,有length的属性。String有有length()这个方法 12、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型

java经典面试题大全带答案

Java经典面试题带答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A. B. C. D. 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.能指定编译结果要置于哪个目录(directory) 答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D. 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

Java面试题2(附答案)

一、判断题 1.软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件 测试在软件工程的后期才开始具体的工作。初级(×) 2.发现错误多的模块,残留在模块是的错误也多。初级(√) 3.测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即 将此问题正确修改,以加快、提高开发的进程。初级(×) 4.单元测试通常应该先进行“人式走查”,再以白盒法为主,辅以黑盒进行动态测试。中 级(√) 5.功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。中 级(√) 6.软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。高级(√) 7.软件测试只能发现错误,但不能保证测试后的软件没有错误。中级(√) 8.软件就是程序。初级(×) 9.测试中要做到语句覆盖和分支覆盖。就可以发现程序中的所有错误。中级(×) 10.I18N测试是指对产品做出具有国际性的规划,而L10测试则是指对软件做出符合本地 需求更改工作。高级(√) 二、选择题 1.进行软件质量管理的重要性有(ACDEF )中级 A、维护降低成本; B、法律上的要求; C、市场竞争的需要; D、质量标准化的趋势; E、软件工程的需要; F、CMM过程的一部分 G、方便与客户进一步沟通为后期的实施打好基础 2.以测试的形态分测试可以分为(ABC )中级 A、建构性测试 B、系统测试 C、专项测试 D、单元测试

E、组件测试 F、集成系统 3.选出属于黑盒测试方法的选项(ABC )初级 A、测试用例覆盖 B、输入覆盖 C、输出覆盖 D、分支覆盖 E、语句覆盖 F、条件覆盖 4.编写测试计划的目的是(ABCEF)中级 A、使测试工作顺利进行; B、使项目参与人员沟通更舒畅; C、使测试工作更加系统化; D、软件工程以及软件过程的需要; E、软件过程规范化的需求; F、控制软件质量 5.依存关第有4种分别是(ABCD)高级 A、开始—结束 B、开始—开始 C、结束—开始 D、结束—结束 E、开始—实施—结束 F、结束—审核—开始 6.软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于 QC的是:(ABCD)高级 A、测试 B、跟踪 C、监督 D、制定计划 E、需求审查

JAVA笔试题--Java选择题100道

1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用 10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;}

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.doczj.com/doc/548997533.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

JAVA基础面试题-2-答案版

JAVA语言基础笔试题-2 Question 1 Given: 11.classA { 12. public void process() { System.out.print(“A “)} } 13. class B extends A { 14. public void process() throws RuntimeException { 15. super.process(); 16. if (true) throw new RuntimeException(); 17. System.out.print(“B”) }} 18. public static void main(String[] args) { 19. try { ((A)new B()).process(); } 20. catch (Exception e) { System.out.print(“Exception “)} 21. } What is the result? A. Exception B. A Exception C. A Exception B D. A B Exception E. Compilation fails because of an error in line 14. F. Compilation fails because of an error in line 19. 答案:B 考点:方法的重写(重写方法异常抛出部分的理解) 多态 异常处理 说明: 子类重写父类方法,不能抛出比父类方法更多的异常,但此处子类重写方法声明抛出了RuntimeException,不算多抛,算是平抛,是可以的。 RuntimeException是Exception的子类,可以被Exception捕获。 Question 2 Given: 11. static class A { 12. void process() throws Exception { throw new Exception(); } 13. } 14. static class B extends A { 15. void process() { System.out.println(“B”)} 16. } 17. public static void main(String[] args) { 18 .A a=new B(); 19. a.process(); 20.} What is the result? A. B

Java面试题大全(答案版)

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 可以,但是只能有一个类用public修饰,并且用public修饰的类名与文件名要一致 2、&和&&的区别。 &和&&都可以用作逻辑与; &&还具有短路功能,即如果第一个表达式的结果为false,则不再计算第二个表达式; &还可以用作位运算符,当&操作符两边的表达式不是boolean类型时,&表示按位与操作。 3、Java有没有goto? java中的保留字,现在没有在java中使用。 4、在JAVA中,如何跳出当前的多重嵌套循环? break+变量控制与return 5、switch是否能作用在byte(拜特)上,是否能作用在long上,是否能作用在String上? Switch可以作用在int上,而byte可以隐式转换为int 所以能作用在byte上 不能作用在long上,也不能作用在String上 6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 1在java中为int数据类型,short+int=int,大类型转为小类型,编译时,会报告需要强制转换类型的错误。s1+=1不会报,因为JVM会对它特殊处理(自动强转) 7、char型变量中能不能存贮一个中文汉字?为什么? 可以,char型变量是用来存储unicode(依妮Q特)编码的,而unicode编码包含了中文,所以是可以保存的 8、编程题: 用最有效率的方法算出2乘以8等於几? 2<<3,表示将2左移3位;一个数左移几位就表示这个数乘以了2的几次方,左移运算,CPU直接支持,所以是最有效率的 9、请设计一个一百亿的计算器 思路:用两个数组分别保存两个操作数,再新建一个数组保存结果。 10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变? 引用变量不能变 11、"=="和equals方法究竟有什么区别? ==和equals方法都可以用来比较两个对象是否是同一个对象。 ==还可以比较两个变量的值是否相等。 equals是Object类中的方法,可以由子类重写此方法,实现内容相等。 12、静态变量和实例变量的区别? 语法上不同: 静态变量前要加static关键字,实例变量不需要 程序运行时不同: 实例变量是属于某个对象的,只有创建了对象,才会为这个对象的实例变量分配空间。静态变量是属于类的,当程序加载了这个类的字节码文件,就会为静态变量分配空间,并且所有对象共享这个变量 13、是否可以从一个static方法内部发出对非static方法的调用? 不可以,非static方法需要与对象关联在一起的,而static方法调用时不需要对象,可以直接调用,也就是说调用static方法时,可能还没有创建任何实例 14、Integer与int的区别 int是java中的8种基本数据类型之一,默认值是0,Integer是int的包装类,默认值是null,即Integer可以表示未赋值和赋值为0 15、(麦死)Math.round(乱的)(11.5)等於多少? Math.round(-11.5)等於多少?

相关主题
文本预览
相关文档 最新文档