码迷,mamicode.com
首页 > 其他好文 > 详细

校招准备

时间:2015-03-06 12:37:33      阅读:121      评论:0      收藏:0      [点我收藏+]

标签:

1.单实例的静态类实现、枚举实现、序列化时readResolve方法

2.多个参数的构造方法用builder方式实现,内存中序列化的使用bai

3.Service provider framework

4.一个拥有private的构造方法的类是不能被继承的

5.String s=String("two") ,String s2="one"的区别

6.注意不必要的自动装箱和拆箱之间运算时的转换的时间消耗

7.关于java内存泄露的一个Stack实现例子,当出栈时应该将该数组对应的那个坑位置为null,如  elements[position]=null;让GC有机会回收,类似的问题还有监听器的注册,WeakHashMap的使用等,总之记住一点:无论什么时候,当一个对象不使用了时,那个存放它的引用变量(坑位)应该置null

8.当定义的类是  值类型 时 如(Integer),一定要按照equals的值等价逻辑复写 equals 方法,注意是值类型

9.子类覆盖Object的 equals时,子类的equals方法的参数不能使用用自己的类型,保持默认使用Object类型,否则并不能覆盖掉父类的equals方法,并不能保证其被调用

10.hashCode方法和equals方法的微妙之处在于,如果equals返回true,则两个对象的hashCode返回的整数值一定要相同,但是如果两个对象的equals返回false,又不强烈要求它们的hashCode的返回值一定不相等,是否还记得hashCode返回值计算的算法(面试有加分的),还有值得一提的是hashCode方法时native方法,它默认的实现是根据对象的堆内存地址计算的,所以它和默认的equals有着一致的默认期望,如果要复写它一定要和equals的值相等判断的逻辑保持一,且在使用基于hash值计算的数据结构或工具类时一定要保证equals和hashCode同时被复写,因为它们作为键值时使用时,很可能第三方数据结构比较时为了效率先判断对象的hash值,相等才会去比较equals方法,所以在使用eclipse自动生成hashCode时,一定要删去那些在equals中没有用到的字段

11.

校招准备

标签:

原文地址:http://www.cnblogs.com/LuLei1990/p/4315744.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!