![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java语言基础
文章平均质量分 55
SuNew_bee
这个作者很懒,什么都没留下…
展开
-
CycilcBarrier
CycilcBarrier的应用场景为多个线程进行不同阶段的任务,当所有线程到达await()后指定的任务才会被执行。CycilcBarrier的结构 CycilcBarrier内部包含几个属性public class CyclicBarrier { /** The lock for guarding barrier entry */ private final ReentrantLock lock = new ReentrantLock(); /** Condit.原创 2021-12-08 13:24:07 · 213 阅读 · 0 评论 -
CountDownLatch
类结构 public CountDownLatch(int count) { if (count < 0) throw new IllegalArgumentException("count < 0"); this.sync = new Sync(count); } 构造函数用传入的count初始化状态数,CountDownLatch内只有一个Sync类型的属性。Sync结构private static final class Syn.原创 2021-12-08 10:54:21 · 143 阅读 · 0 评论 -
Semaphore
Semaphore的结构 构造函数: public Semaphore(int permits) { sync = new NonfairSync(permits); } public Semaphore(int permits, boolean fair) { sync = fair ? new FairSync(permits) : new NonfairSync(permits); } Semaphore内部有一个Sync类.原创 2021-12-07 22:59:43 · 278 阅读 · 0 评论 -
ConcurrentHashMap
ConcurrentHashMap源码剖析原创 2021-12-06 14:25:58 · 379 阅读 · 0 评论 -
注解的原理
怎么定义一个注解 注解可以在类名前加上@interface将一个类定义为注解。元注解 元注解有五个:1、@Retention:应用在一个注解上时,用来说明这个注解的存活时间,它内部定义了三个生命周期。public enum RetentionPolicy { // 在编译前注解将被丢弃 SOURCE, // 注解被保留到编译时时 CLASS, // 注解保留到运行时 RUNTIME}2、@Documented:将注解中的元素包含到Javadoc转载 2021-06-24 23:43:05 · 264 阅读 · 0 评论 -
HashMap原理
HashMap的底层结构 在JDK7中HashMap是通过“数组+链表”实现的,而JDK8中是通过“数组+链表+红黑树”实现的。数组作为哈希运算后的地址,链表和红黑树是为了解决哈希冲突,将哈希运算后相同的元素放到同一个哈希桶中。HashMap的扩容机制 HashMap数组的初始容量是16,扩容时以2的倍数扩容。是否要扩容由扩容因子决定,默认的扩容因子是0.75,当数组中的元素个数达到容量的0.75就会进行扩容。每个数组中的链表长度达到8时,就会将链表转换为红黑树,在转换前还会检查数组大小是.原创 2021-05-29 08:27:24 · 150 阅读 · 1 评论 -
java嵌套类
嵌套类的类型嵌套类分为四种:非静态嵌套类: 1、匿名内部类 2、局部内部类 3、普通内部类静态嵌套类(静态内部类)匿名内部类顾名思义,匿名内部类没有类名,匿名内部类必须继承一个父类或实现一个父接口。匿名内部类的形式为:new 类名/接口名 (){ 实现接口/重写方法} 匿名内部类与直接new一个对象十分直观的区别就是带有类的定义部分,常见的用法是对接口的方法进行实现或者重写父类方法。 类是匿名的所以只会产生一个对象,应用场景是只需要一个对象时,不用去额外声明一个类实现原创 2021-02-21 19:31:13 · 284 阅读 · 0 评论