
JavaSE
文章平均质量分 78
JavaSE的学习
存量美团骑手
在追求优秀的路上了
展开
-
学完AQS源码自己实现一个锁
前几天学习了AQS源码为了加深印象今天来基于AQS自己实现一个锁 1.基于AQS实现不可重入的锁 之前我们学习了AQS的源码,了解到了自定义AQS需要实现重写一系列函数,还需要定义原子变量state的含义。 下文我们自己实现一个锁,定义state为0表示锁没有被线程持有,state为1表示锁已经被某一个线程持有,由于是不可重入锁,所以不需要记录持有锁的线程获取锁的次数,另外,我们自定义的锁支持条件变量,因为我们要实现生产者——消费者模型 class NonReentrantLock implements原创 2022-01-27 18:25:24 · 476 阅读 · 2 评论 -
Java常用类
介绍了Java中常用类含StringBuffer,StringBuilder,String,时间API,Math和比较器原创 2021-12-15 09:26:59 · 276 阅读 · 27 评论 -
Java浅拷贝深拷贝
Java浅拷贝深拷贝 浅拷贝和深拷贝涉及到了Object类中的clone()方法 实现浅拷贝 浅拷贝的实现需要类重写clone()方法 浅拷贝会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝 如果属性是基本类型,拷贝的就是基本类型的值; 如果属性是内存地址(引用类型),拷贝的就是内存地址 ,因此如果其中一个对象改变了这个地址,就会影响到另一个对象,导致两个对象的引用不等。 实现浅拷贝很简单只需要将类实现Cloneable接口然后重写clone方法即可 class Person imple原创 2021-12-05 21:16:50 · 2227 阅读 · 34 评论