搜档网
当前位置:搜档网 › java基础面试题100道

java基础面试题100道

1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?
可以有多个类,但是只能有一个public类,并且public的类名必须与文件名相一致。


2、Java有没有goto?
java中有goto关键字,也是保留字

3、说说&和&&的区别?
&和&&都可以表示逻辑与,当运算符两边的表达式结果都为true时,整个运算结果才为true,否则,只要一方为false,则结果为false。&&还有段路的功能,即,如果第一个表达式为false,则不再计算第二个表达式。&还可以做位运算符,当&操作符两遍的表达式不是boolean时,&表示按位与操作。

4、在JAVA中如何跳出当前的多重嵌套循环?
在Java中,要想跳出多重循环,可以在外面的循环语句前定义一个标号,然后在里层循环体的代码中使用带有标号的break 语句,即可跳出外层循环。
Java代码
loop:
for(int i=0;i<10;i++) {
System.out.println(i);

for(int j=0;j<10;j++) {
System.out.println("i=" + i + ",j=" + j);
if(j == 5) break loop;
}
}

5、switch语句能否作用在byte上,能否作用在long上,能否作用在String上?
在switch(expr1)中,expr1只能是一个整数表达式或者枚举常量(更大字体),整数表达式可以是int基本类型或Integer包装类型,由于,byte,short,char都可以隐含转换为int,所以,这些类型以及这些类型的包装类型也是可以的。显然,long和String类型都不符合switch的语法规定,并且不能被隐式转换成int类型,所以,它们不能作用于swtich语句中。

6、short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
对于short s1 = 1; s1 = s1 + 1;由于运算时会自动提升表达式的类型,所以结果是int型,再赋值给short类型s1时,编译器将报告需要强制转换类型的错误。
对于short s1 = 1; s1 += 1;,由于+=是java语言规定的运算符,java编译器会对它进行特殊处理,因此可以正确编译。

7、char型变量中能不能存贮一个中文汉字?为什么?
8、用最有效率的方法算出2乘以8等於几?
10、使用final关键字修饰一个变量时,是引用不能变,还是引用的对象不能变?
11、"=="和equals方法究竟有什么区别?
12、静态变量和实例变量的区别?
13、是否可以从一个static方法内部发出对非static方法的调用?
14、Integer与int的区别?
15、Math.round(11.5)等於多少? Math.round(-11.5)等於多少?
16、请说出作用域public,private,protected,以及不写时的区别?
17、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?
18、搞了多个重载方法,参数分别是int ,char,和double,然后将double x = 2,传

递进去,会选择哪个方法?
19、ClassLoader如何加载class?
20.ArrayList如何实现插入的数据按自定义的方式有序存放?
21.序列化接口的id有什么用?
22.hashCode方法的作用?
23、构造器Constructor是否可被override?
24、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承具体类(concrete class)? 抽象类中是否可以有静态的main方法?
25、写clone()方法时,通常都有一行代码,是什么?
26、面向对象的特征有哪些方面?
27、java中实现多态的机制是什么?
28、abstract class和interface有什么区别?
29、abstract的method是否可同时是static,是否可同时是native,是否可同时是synchronized?
30、什么是内部类?Static Nested Class 和 Inner Class的不同?
31、内部类可以引用它的包含类的成员吗?有没有什么限制?
32、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?
33、super.getClass()方法调用?
34. jdk中哪些类是不能继承的?
35、String是最基本的数据类型吗?
36、String s = "Hello";s = s + " world!";这两行代码执行后,原始的String对象中的内容到底变了没有?
37、是否可以继承String类?
38、String s = new String("xyz");创建了几个String Object? 二者之间有什么区别?
39、String 和StringBuffer的区别?
40.StringBuffer与StringBuilder的区别?
41、如何把一段逗号分割的字符串转换成一个数组?
42、数组有没有length()这个方法? String有没有length()这个方法?
43、下面这条语句一共创建了多少个对象:String s="a"+"b"+"c"+"d"?
44、try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?
45、final, finally, finalize的区别?
46、运行时异常与一般异常有何异同?
47、error和exception有什么区别?
48、Java中的异常处理机制的简单原理和应用?
49、请写出你最常见到的5个runtime exception?
50、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
51、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法? stop()和suspend()方法为何不推荐使用?
52、sleep() 和 wait() 有什么区别?
53、同步和异步有何异同,在什么情况下分别使用他们?举例说明?
54、多线程有几种实现方法?同步有几种实现方法?
55、启动一个线程是用run()还是start()?
56、当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
57、线程的基本概念、线程的基本状态以及状态之间的关系?
58、简述synchronized和java.util.concurrent.locks.Lock的异同 ?
59、设

计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序?
60、子线程循环10次,接着主线程循环100,接着又回到子线程循环10次,接着再回到主线程又循环100,如此循环50次,请写出程序?
61、介绍Collection框架的结构?
62、Collection框架中实现比较要实现什么接口?
63、ArrayList和Vector的区别?
64、HashMap和Hashtable的区别?
65、List 和 Map 区别?
66、List, Set, Map是否继承自Collection接口?
67、List、Map、Set三个接口,存取元素时,各有什么特点?
68、说出ArrayList,Vector, LinkedList的存储性能和特性?
69、去掉一个Vector集合中重复的元素?
70、Collection 和 Collections的区别?
71、Set里的元素是不能重复的,那么用什么方法来区分重复与否呢? 是用==还是equals()? 它们有何区别?
72、你所知道的集合类都有哪些?主要方法?
73、两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
74、TreeSet里面放对象,如果同时放入了父类和子类的实例对象,那比较时使用的是父类的compareTo方法,还是使用的子类的compareTo方法,还是抛异常!
75、说出一些常用的类,包,接口,请各举5个?
76、java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
77、字节流与字符流的区别?
78、什么是java序列化,如何实现java序列化?或者请解释Serializable接口的作用?
79、描述一下JVM加载class文件的原理机制?
80、heap和stack有什么区别。?
81、GC是什么? 为什么要有GC?
82、垃圾回收的优点和原理。并考虑2种回收机制?
83、垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?
84、什么时候用assert?
85、java中会存在内存泄漏吗?
86、能不能自己写个类,也叫https://www.sodocs.net/doc/e611403510.html,ng.String?
87、&和&&的区别?
88、给我一个你最常见到的runtime exception?
89、解释下面关于J2EE的名词:JNDI,JMS,JTA,JAF,RMI?
90、XML的解析方法?
91、什么是类与对象?
92、什么是属性与方法?
93、什么是OOP?什么是类?请对比类和对象实例之间的关系?
94、String是最基本的数据类型吗?
95、请说出你所知道的线程同步的方法?
96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,
finally分别代表什么意义?在try块中可以抛出异常吗?
97、java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?
stop()和suspend()方法为何不推荐使用?
98、什么是java序列化,如何实现java序列化?
99、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实

现)interface(接口) ?
100、介绍JAVA中的Collection FrameWork(包括如何写自己的数据结构)?























































































































































相关主题