java面试题02
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面试题02相关的知识,希望对你有一定的参考价值。
1.JAVA内部使用的编码格式是(utf-8)
2.
public class Threads2 implements Runnable {
@Override
public void run() {
System.out.println("run.");
throw new RuntimeException("problem");
}
public static void main(String[] args) {
Thread t = new Thread(new Threads2());
t.start();
System.out.println("End of method.");
}
}
执行结果:
run.
End of method.
Exception in thread "Thread-0" java.lang.RuntimeException: problem
或者:
End of method.
run.
Exception in thread "Thread-0" java.lang.RuntimeException: problem
3.
public class SimpleCalc {
public int value;
public void calculate() {
value += 7;
}
}
public class MultiCalc extends SimpleCalc {
public void calculate() {
value -= 3;
}
public void calculate(int multiplier) {
calculate();
super.calculate();
value *= multiplier;
}
public static void main(String[] args) {
MultiCalc calculate = new MultiCalc();
calculate.calculate(2);
System.out.println("value is:" + calculate.value);
}
}
输出结果:vaue is:8
4.对于JSP的通用规则,描述正确的是:
如果URL不是以“/”开始的,就被解释为相对于当前的JSP路径。
5.在MVC设计模式中,JavaBean的作用域是:
model
6.在一个Filter中,处理Filter业务的是什么方法?
doFilter(ServletRequest request,ServletResponse response,FilterChain chain)
7.对下面Spring声明式事务的配置含义的说明错误是(缺少SqlSessionFactory属性的注入)。
8、hibernate API中的几口有一下几类 配置hibernate的接口是 configuration
9、事务的原子性是指:事务的原子性是指事务的所有操纵在数据库中要么全部正确反映出来,要么全部不反映
10、外链接的条件可以放在以下哪一个语句中 where;
第二部分 简答题
1、List Map Set 三个接口在存取元素时各有什么特点?
答:
List与Set都是单列元素的集合,它们有一个功共同的父接口Collection。
Set里面不允许有重复的元素,
存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法可成功加入该元素时,则返回true;当集合含有与某个元素equals相等的元素时,此时add方法无法加入该元素,返回结果为false。
取元素:没法说取第几个,只能以Iterator接口取得所有的元素,再逐一遍历各个元素。
List表示有先后顺序的集合,
存元素:多次调用add(Object)方法时,每次加入的对象按先来后到的顺序排序,也可以插队,即调用add(int index,Object)方法,就可以指定当前对象在集合中的存放位置。
取元素:方法1:Iterator接口取得所有,逐一遍历各个元素
方法2:调用get(index i)来明确说明取第几个。
Map是双列的集合,存放用put方法:put(obj key,obj value),每次存储时,要存储一对key/value,不能存储重复的key,这个重复的规则也是按equals比较相等。
取元素:用get(Object key)方法根据key获得相应的value。
也可以获得所有的key的集合,还可以获得所有的value的集合,
还可以获得key和value组合成的Map.Entry对象的集合。
List以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值,value可多值。
2、列举你所知道的排序方法 请写出快捷排序的伪代码?
答:排序的方法有:插入排序,选择排序,冒泡排序,堆排序,快速排序,归并排序,计数排序,基数排序,桶排序
快速排序的伪代码:
public void QuickSort(SeqList R,int low,int high){
int pivotpos;//划分后的基准记录的位置
if(low<high){
//仅当区间长度大于1时才需排序
pivotpos = Partition(R,low,high);//对R[low...high]进行划分
QuickSort(R,low,pivotpos-1);
QuickSort(R,pivotpos+1,high);
}
}
3、谈谈 final、finally、finalize 的区别?
答:
1.final:如果一个类被final修饰,意味着该类不能派生出新的子类,不能作为父类被继承。因此一个类不能被声明为abstract,又被声明为final。将变量或方法声明为final。可以保证他们在使用的时候不被改变。其初始化可以在两个地方:一是其定义的地方,也就是在final变量在定义的时候就对其赋值;二是在构造函数中。这两个地方只能选其中的一个,要么在定义的时候给值,要么在构造函数中给值。被声明为final的方法也只能使用,不能重写。
2.finally:在异常处理的时候,提供finally块来执行任何的清除操作。如果抛出一个异常,那么相匹配的catch字句就会执行,然后控制就会进入finally块,前提是有finally块。
3.finalize:finalize是方法名,java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。这个方法是在垃圾收集器确认一个对象没有被引用时对这个对象调用的。它是在Object类中定义的,因此,所有的类都继承了它。子类覆盖finalize()方法已整理系统资源或者执行其他清理工作。finalize()方法是在垃圾收集器删除对象之前对这个对象调用的。
以上是关于java面试题02的主要内容,如果未能解决你的问题,请参考以下文章