中国电信四川客户服务中心Java面试题

这篇博客详细讨论了Java面试中常见的问题,包括快速计算2*8的位运算方法、克隆的实现方式、Oracle创建表的自动递增与默认值设置、JVM内存结构、对象的垃圾回收机制、MVC模式的解释、前端接口优化策略、单例模式的原理及其注意事项、多线程问题的解决以及多态的理解。同时分享了作者的学习方法和工作中遇到的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值