您的位置:首页 > 职场人生

面试知识点回顾

2011-05-22 21:52 615 查看
闲来无事,总结一下最近面试的面试题

1、where 、having 、group by 的区别与联系?

(1)where 作用于基本表或视图,having 短语作用于组。

(2)group by作用于基本表查询结果,group by 可以聚合函数的作用域作用于组。

(3)优先级不同: where条件—聚合函数——having 条件

参考资料:http://wenku.baidu.com/view/31c02509581b6bd97f19ea2e.html



2、public 、protected、private、friendly的区别?

public :接口访问权限,所有人都可以访问;

protect :继承访问权限,继承它的子类可以有对它的访问权限,protected也提供包访问权限,也就是所,相同包内的其他元素可以访

问protected元素;

friendly: 默认访问权限,即包访问权限,位于同一个包你的资源都可以访问。

private :私有访问权限,只有该类的内部采用访问自己的元素。

注意:在Java中,如果不对元素进行定义,默认为访问权限。类的访问权限只有两种选择,public或包访问权限(不写)。



3、String 和StringBuffer的区别?

J***A平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。这个String类提供了数值不可改变的字符串。而这个StringBuffer类提供的字符串进行修改。当你知道字符数据要改变的时候你就可以使用StringBuffer。典型地,你可以使用StringBuffers来动态构造字符数据。
4、HashMap和Hashtable的区别。

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable。
HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。 Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现。
最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap 就必须为之提供外同步。
Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。

总之,HashMap 允许null,非线程安全;HashMap 不允许Null,线程安全。

5、Overload和Override的区别?Overloaded的方法是否可以改变返回值的类型?
方法的覆盖Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: