OnJava学习系列
文章平均质量分 87
学习来源于OnJava中文版进阶卷此书,基于java8,11,17
stay hungry,stay you
stay hungry,stay young
展开
-
强引用 软引用 弱引用 虚引用 以及WeakHashMap简单介绍
虚引用应该可以说是最弱的一种java对象引用方式,其它的引用方式至少还能get到对象,而虚引用的句柄是获取不到对象的。// 新建一个对象// 存储被回收的对象// phantomReference使用虚引用指向这个内存空间到此我们的句柄就通过虚引用指向了新建的User// 获取不到 打印为null使用它可以实现简单缓存,并不建议线上环境使用它来,这里只是来帮助理解原理,是用哈希表实现Map接口,key是类型(弱引用类型),Entry在被自动删除当key不在被使用时候(即不可达时,原创 2024-06-03 22:09:11 · 51 阅读 · 0 评论 -
ThreadPoolExecutor创建线程池详解
该接口是真正的线程池接口。上面的ThreadPoolExecutor以及下面的都是该接口的实现类。Future submit(Runnable task):提交Runnable任务到线程池,返回Future对象,由于Runnable没有返回值,也就是说调用Future对象get()方法返回null。Future submit(Callable task):提交Callable任务到线程池,返回Future对象,调用Future对象get()方法可以获取Callable的返回值。原创 2024-06-02 12:56:26 · 775 阅读 · 0 评论 -
阻塞队列BlockingQueue(FIFO)
BlockingQueue接口与Queue接口【Queue 和 BlockingQueue 都是在 Java 5 中加入的】原创 2024-06-01 12:05:01 · 675 阅读 · 0 评论 -
容量为0多线程操作的SynchronousQueue(FIFO)
SynchronousQueue是一个没有数据缓冲的,生产者线程对其的插入操作put必须等待消费者的移除操作take。SynchronousQueue的优点在于其直接性和高效性,它实现了线程间的即时数据交换,无需中间缓存,确保了数据传输的实时性和准确性,同时,其灵活的阻塞机制使得线程同步变得简单而直观,适用于需要精确协调的生产者-消费者模型。如上图所示,SynchronousQueue 最大的不同之处在于,它的容量为 0,所以没有一个地方来暂存元素,导致每次取数据都要先阻塞,直到有数据被放入;原创 2024-05-31 20:06:53 · 872 阅读 · 0 评论 -
无界延迟队列DelayQueue
DelayQueue是一个无界的,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。原创 2024-05-30 23:04:26 · 581 阅读 · 0 评论 -
优先级非线程安全PriorityQueue和线程安全PriorityBlockingQueue
PriorityBlockingQueue类实现了接口(所以是线程安全的),它是一个线程安全的队列,继承自类,而类又实现了Queue接口。PriorityBlockingQueue是一个有界的队列,其容量可以在构造函数中进行指定,若不指定则默认大小为。同时,PriorityBlockingQueue也支持根据元素的优先级进行排序,这是由于PriorityBlockingQueue内部实现了一个堆数据结构。至于方法和PriorityQueue其实差不多不多赘述。原创 2024-05-28 20:50:39 · 686 阅读 · 0 评论 -
链表类型的无界阻塞线程安全队列-ConcurrentLinkedQueue(FIFO)和ConcurrentLinkedDeque
链表类型的无界阻塞线程安全队列原创 2024-05-26 15:11:09 · 665 阅读 · 0 评论 -
链表类型的有界或无界阻塞线程安全队列-LinkedBlockingQueue(FIFO)和LinkedBlockingDeque
链表类型的无界阻塞队列原创 2024-05-25 10:40:52 · 242 阅读 · 0 评论 -
可重入锁ReentrantLock
java除了使用关键字synchronized外,还可以使用ReentrantLock实现独占锁的功能。而且ReentrantLock相比synchronized而言功能更加丰富,使用起来更为灵活,也更适合复杂的并发场景。这篇文章主要是从使用的角度来分析一下ReentrantLock(一)简介ReentrantLock常常对比着synchronized来分析,我们先对比着来看然后再一点一点分析。原创 2021-02-23 10:32:07 · 119 阅读 · 0 评论 -
数组类型的有界阻塞线程安全队列-ArrayBlockingQueue(FIFO)
数组类型的有界阻塞队列原创 2024-05-24 20:35:28 · 766 阅读 · 0 评论 -
反射获取或修改对象属性的值
反射操作原创 2024-05-23 21:04:14 · 333 阅读 · 0 评论 -
LinkedList用作栈、队列、双端队列
LinkList用作队列和栈原创 2024-05-22 19:45:05 · 307 阅读 · 0 评论 -
链表的概念
链表概念原创 2024-05-21 17:54:26 · 511 阅读 · 0 评论 -
枚举类的新玩法
【代码】枚举类的新玩法。原创 2024-05-20 22:47:52 · 117 阅读 · 0 评论