Java基础
文章平均质量分 58
Z菌君
美团测试开发工程师
展开
-
Java只有值传递
Java 没有引用传递Java传递的引用的副本。而不是引用本身,所以引用没有传递,所以这个不叫引用传递。Java传递的是对象的引用,更确切的说是传递的对象引用的副本。原创 2022-12-28 16:13:35 · 158 阅读 · 2 评论 -
JUC实现精确顺序访问(线程通信例题)
在JUC编程中可以通过Condition类来进行精确阻塞与唤醒。 Condition类主要有两种方法: 1,Condition.await():使当前线程陷入阻塞,并释放锁。 2, Condition.signal():唤醒该Condition对象所在的线程。 下面有个例题可以帮助理解。 题目要求:创建三个线程,线程1打印 " -A- " 5次 ,线程2打印" -B-" 10次,线程3打印 "-C-" 15次,并按照 A->B->C顺序进行打印,重复10轮。 以下是实现过程 p.原创 2022-03-19 20:21:32 · 364 阅读 · 0 评论 -
CyclicBarrier使用说明。
Barrier的意为“障碍” 可以看看CyclicBarrier的构造方法 当线程调用CyclicBarrier对象await()方法后会被阻塞,同时计数+1,直到达到CyclicBarrier构造方法中的预定的数目,所有线程就会被唤醒。 代码实例 package Condtion; import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; publi.原创 2022-03-20 10:17:30 · 126 阅读 · 0 评论 -
LinkedHashMap部分源码介绍
HashMap 底层是 数组 + 红黑树 + 链表 ,同时其是无序的,而 LinkedHashMap 刚好就比 HashMap 多这一个功能,就是其提供 有序,并且,LinkedHashMap的有序可以按两种顺序排列,一种是按照插入的顺序,一种是按照读取的顺序,而其内部是靠 建立一个双向链表 来维护这个顺序的,在每次插入、删除后,都会调用一个函数来进行 双向链表的维护 ,准确的来说,是有三个函数来做这件事,这三个函数都统称为 回调函数 ,这三个函数分别是:其主要是两个构造方法,一个是继承 HashMap ,原创 2022-10-26 10:24:19 · 148 阅读 · 0 评论