正在阅读:JAVA程序员面试32问,你能回答多少题?JAVA程序员面试32问,你能回答多少题?

2005-01-11 10:10 出处: 作者:java中文站 责任编辑:xietaoming
第二十八,编程题: 用最有效率的方法算出2乘以8等於几?   有C背景的程序员特别喜欢问这种问题。   2 << 3   第二十九,两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?   不对,有相同的hash code。   第三十,当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?   是值传递。Java 编程语言只由值传递参数。当一个对象实例作为一个参数被传递到方法中时,参数的值就是对该对象的引用。对象的内容可以在被调用的方法中改变,但对象的引用是永远不会改变的。   第三十一,swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?   switch(expr1)中,expr1是一个整数表达式。因此传递给 switch 和 case 语句的参数应该是 int、 short、 char 或者 byte。long,string 都不能作用于swtich。   第三十二,编程题: 写一个Singleton出来。   Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。   一般Singleton模式通常有几种种形式:   第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton {   private Singleton(){}   //在自己内部定义自己一个实例,是不是很奇怪?   //注意这是private 只供内部调用   private static Singleton instance = new Singleton();   //这里提供了一个供外部访问本class的静态方法,可以直接访问     public static Singleton getInstance() {     return instance;       } }   第二种形式: public class Singleton {   private static Singleton instance = null;   public static synchronized Singleton getInstance() {   //这个方法比上面有所改进,不用每次都进行生成对象,只是第一次        //使用时生成实例,提高了效率!   if (instance==null)     instance=new Singleton(); return instance;   } }   其他形式:   定义一个类,它的构造函数为private的,所有方法为static的。   一般认为第一种形式要更加安全些   第三十三 Hashtable和HashMap   Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Map interface的一个实现   HashMap允许将null作为一个entry的key或者value,而Hashtable不允许   还有就是,HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因为contains方法容易让人引起误解。   最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供外同步。   Hashtable和HashMap采用的hash/rehash算法都大概一样,所以性能不会有很大的差异。
察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:
键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品