-
近期文章
标签
文章归档
- 2020 年一月
- 2019 年六月
- 2018 年四月
- 2017 年八月
- 2017 年七月
- 2016 年十一月
- 2016 年十月
- 2016 年六月
- 2016 年五月
- 2016 年一月
- 2015 年十二月
- 2015 年十一月
- 2015 年十月
- 2015 年九月
- 2015 年八月
- 2015 年六月
- 2015 年五月
- 2015 年四月
- 2015 年三月
- 2015 年一月
- 2014 年十二月
- 2014 年九月
- 2014 年八月
- 2014 年六月
- 2014 年五月
- 2014 年四月
- 2014 年三月
- 2014 年一月
- 2013 年十二月
- 2013 年十一月
- 2013 年十月
- 2013 年九月
- 2013 年八月
- 2013 年七月
分类目录
功能
月归档:2013年08月
面试小记
时间是2013年8月29号下午16点,星期四,天气是雷阵雨,事件是面试,结果是非常失败。 凭着印象记下这几道面试题: 1.java序列化问题。一个User类序列化以后,添加或者删除里面的字段,然后再反序列化是否可行? 回答:这个我没有试过,因为在我印象中被transient(瞬时)修饰的字段是不能够序列化的,所以就说了,可以,结果,我回来一试,抛异常了,不管添加或是删除字段,都会抛出java.io.InvalidClassException: com.serializable.User; local class incompatible: stream classdesc serialVersionUID = 6599240241420329073, local class serialVersionUID = 5117558823115306911,然后我一看见异常是序列号不一致,因为我刚才写的User类只实现了Serializable接口,没有给出serialVersionUID默认值,系统估计会自动生成,所以,我把serialVersionUID加上了,重新试了下,居然成功了,我的回答也不是完全错,只是没有说清楚场景(有没有默认serialVersionUID值)。也就是说,平时,我们写实现Serializable接口时,一定要给个默认的serialVersionUID,这样,当这个类再添加或是删除字段时,也可以正常运行。