中国电信成都分公司客服部Java面试题
1.以最快的方式计算2*8
采用位运算 向左移动3位
int num=2<<3
位运算时cpu直接直接支持的效率最高
二进制:0000 0000 0000 0010
左移3位:0000 0000 0001 0000
得到结果: 16
2.实现clone的方式有几种, 以下两种用代码实现
克隆的分类
1.浅克隆:在对一个对象进行进行克隆的时候,如果这个对象中有引用 数据类型,只会克隆这个引用对象的地址值,如果这个对象的内容改变,克隆对象内容也会改变
2.深克隆:在一个对象中如果有引用数据类型,会把这个对象的所有基本数据都复制
1.通过实cloneable接口
public class MyClone implements cloneable{
//重写父类方法
protect Object clone(){
Person p=(Person)super.clone();
return p;
}
2.实现序列化接口,通过反序列化实现
public class MyClone2 implements Serializable{
//序列化ID
public static final Long SerializableId=1L;
//深度克隆方法
public Object deepClone(){
//1.把对象转化成流
ByteArrayOutputStream bos=new ByteArrayOutputStream();
ObjectOutputStream oos=new ObjectOutputStream(bos);
oos.writeObject();
//2.把流转化成对象
ByteArrayInputSt