Reference
文章平均质量分 87
Java Reference Framework
说淑人
我想站的更高一些,好看到世界最真实的样子。
展开
-
Java ~ Collection/Executor ~ PriorityBlockingQueue【源码】
PriorityBlockingQueue(优先级阻塞队列)类是BlockingQueue(阻塞队列)接口的实现类之一,基于数组实现。优先级阻塞队列类必须定义比较器或元素必须实现比较能力。优先级阻塞队列类是真正意义上的无界队列,即容量理论上只受限于堆内存的大小。优先级阻塞队列类不允许存null,或者说阻塞队列接口的所有实现类都不允许存null。优先级阻塞队列类是线程安全的,或者说阻塞队列接口的所有实现类都是线程安全的,其接口定义中强制要求实现类必须线程安全。原创 2023-08-06 12:41:53 · 245 阅读 · 0 评论 -
Java ~ Collection/Executor ~ PriorityBlockingQueue【总结】
PriorityBlockingQueue(优先级阻塞队列)类是BlockingQueue(阻塞队列)接口的实现类之一,基于数组实现。优先级阻塞队列类必须定义比较器或元素必须实现比较能力。优先级阻塞队列类是真正意义上的无界队列,即容量理论上只受限于堆内存的大小。优先级阻塞队列类不允许存null,或者说阻塞队列接口的所有实现类都不允许存null。优先级阻塞队列类是线程安全的,或者说阻塞队列接口的所有实现类都是线程安全的,其接口定义中强制要求实现类必须线程安全。原创 2023-08-06 11:47:25 · 741 阅读 · 0 评论 -
Java ~ Reference【目录】
一 Reference(引用)一 Reference(引用)原创 2023-03-19 15:57:52 · 194 阅读 · 1 评论 -
Java ~ Reference【源码】
Referecne(引用)类是强引用之外的引用(下文简称特殊引用)概念的实质化产物,定义并实现了特殊引用的生命周期及运行流程。因为Referecne(引用)类的存在,特殊引用不再是一个虚幻的设想,而是实实在在的运行机制,也为软、弱等引用的实现提供了实质性的基础。原创 2022-10-26 21:25:14 · 484 阅读 · 0 评论 -
Java ~ Reference【总结】
在JDK1.2之前,Java中引用的定义是十分传统的。引用抽象类是强引用之外引用(下文简称特殊引用)概念的实质化产物,其作用在于定义并实现了特殊引用的生命周期及运行流程,使得特殊引用不再是一个虚幻的设想,而是实际独立于强/无引用之外的第三存在,为软、弱等具体特殊引用实现提供了实质性基础。事实上,作为API层面上的实现,单纯依靠引用抽象类是无法实现特殊引用的,需要JVM层面(GC)的配合。因此,与其说引用抽象类实现了特殊引用,倒不如说其为GC分辨特殊引用提供了判断依据更加合适。原创 2023-03-19 16:03:25 · 419 阅读 · 0 评论 -
Java ~ Reference ~ ReferenceQueue【源码】
如果一个Reference(引用)类对象注册了ReferenceQueue(引用队列)类对象,且其所指对象被GC判定为可回收,则该Reference(引用)类对象会被置入ReferenceQueue(引用队列)类对象中(这里是简单叙述,实际上将Reference(引用)类对象加入引用队列还是有一个过程的,这个过程被称为Reference(引用)机制)。原创 2022-10-26 20:49:48 · 1202 阅读 · 0 评论 -
Java ~ Reference ~ ReferenceQueue【总结】
ReferenceQueue(引用队列)类是Reference(引用)框架中专门设计用来与Reference(引用)抽象类配合使用的队列,采用链表的方式以实现。其作用是追踪引用的所指对象的GC状态,即判断所指对象是否已/会被GC回收。引用队列类的是无界队列,即容量理论上只受限于内容大小。引用队列类的本质是堆栈。引用队列类是线程安全的。引用队列类并不是Collection(集)框架的成员。原创 2023-06-11 18:44:30 · 1024 阅读 · 0 评论 -
Java ~ Reference ~ SoftReference【源码】
SoftReference(软引用)类是Reference(引用)类的四大子类之一,只被SoftReference(软引用)类对象持有的对象(即被作为所指对象)被称为软可达(softly reachable)对象。SoftReference(软引用)类适合用于做缓存。对软可达对象的所有软引用保证在虚拟机抛出OOM之前已被清除。原创 2022-11-13 13:17:15 · 548 阅读 · 0 评论 -
Java ~ Reference ~ SoftReference【总结】
SoftReference(软引用)类是Reference(引用)抽象类的四大子类之一,只被软引用所持有的对象被称为软可达(softly reachable)对象。软引用类适用于缓存。原创 2023-06-18 13:53:30 · 890 阅读 · 0 评论 -
Java ~ Reference ~ WeakReference【源码】
WeakReference(弱引用)类是Reference(引用)类的四大子类之一,只被WeakReference(弱引用)类对象持有的对象被称为弱可达(weakly reachable)对象。弱引用与无引用的真正区别在于其自身引用强度的可变性。WeakReference(弱引用)类常用于帮助GC回收。原创 2022-11-20 21:28:56 · 420 阅读 · 0 评论 -
Java ~ Reference ~ WeakReference【总结】
WeakReference(弱引用)类是Reference(引用)抽象类的四大子类之一,只被弱引用持有的对象被称为弱可达(weakly reachable)对象。弱引用与无引用的等价性仅限于GC方面,即两者都不会成为GC回收对象的影响因素;但访问方面,软引用则与强引用等价,即两者都可以成为对象的访问通道。弱引用类常用于帮助GC回收。原创 2023-06-18 14:16:48 · 975 阅读 · 0 评论 -
Java ~ Reference ~ PhantomReference【源码】
PhantomReference(虚引用)类是Reference(引用)类的四大子类之一,一个只被PhantomReference(虚引用)类对象持有的对象被称为虚可达(phantom reachable)对象。在Java中关于虚引用的定义是:虚引用等价于没有引用,其无法对对象的生命周期产生任何影响,即对象的诞生、初始化、使用及回收完全与虚引用无关,也无法通过对象的PhantomReference(虚引用)类对象来获取对象。这不禁会令人产生疑惑,引入虚引用的意义是什么呢?原创 2022-10-14 19:20:56 · 819 阅读 · 0 评论 -
Java ~ Reference ~ PhantomReference【总结】
PhantomReference(虚引用)类是Reference(引用)类的四大子类之一,只被虚引用持有的对象被称为虚可达(phantom reachable)对象。虚引用类被设计专用于跟踪对象的GC状态,即判断对象是否已/会被GC回收。虚引用类有两个特点:一是必须与引用队列搭配使用,这与其本身的作用相关;二是其get()方法无法获取所指对象,即使其没有被GC回收。虚引用类可作为finalize()方法的替代方案。原创 2023-06-11 18:24:59 · 1027 阅读 · 0 评论 -
Java ~ Reference ~ Cleaner【源码】
清洁工类是专门为了替代Finalization(终结)机制/finalize()方法而实现的,学习者很容易冒出这个想法...该想法是否正确暂且不论,但清洁工类确实实现了与终结机制/finalize()方法相同的功能,即在所指对象被GC回收时执行自定义操作。清洁工类继承自虚引用类,这意味着其本身也是一个虚引用。不推荐使用清洁工。原创 2023-06-11 15:39:15 · 1354 阅读 · 1 评论 -
Java ~ Reference ~ Cleaner【总结】
清洁工类是专门为了替代Finalization(终结)机制/finalize()方法而实现的,学习者很容易冒出这个想法...该想法是否正确暂且不论,但清洁工类确实实现了与终结机制/finalize()方法相同的功能,即在所指对象被GC回收时执行自定义操作。清洁工类继承自虚引用类,这意味着其本身也是一个虚引用。不推荐使用清洁工。原创 2023-06-11 15:09:32 · 1644 阅读 · 0 评论 -
Java ~ Reference ~ FinalReference【源码】
FinalReference(终引用)类是Reference(引用)抽象类的四大子类之一,被作用于实现Java的Finalization(终结)机制。终引用类必须搭配引用队列使用,该特性与PhantomReference(虚引用)类一致。终引用类最大的特点在于其所指对象的回收时机与其它子类不同。终引用类的存在是为了实现终结机制而提供对对象生命周期的干预机制,即影响对象的回收时机,而实际真正实现该机制的是其子类Finalizer(终结者),Java终结机制正是通过终结者类与底层逻辑相互配合实现的。原创 2023-06-11 16:02:18 · 820 阅读 · 0 评论 -
Java ~ Reference ~ FinalReference【总结】
FinalReference(终引用)类是Reference(引用)抽象类的四大子类之一,被作用于实现Java的Finalization(终结)机制。终引用类必须搭配引用队列使用,该特性与PhantomReference(虚引用)类一致。终引用类最大的特点在于其所指对象的回收时机与其它子类不同。终引用类的存在是为了实现终结机制而提供对对象生命周期的干预机制,即影响对象的回收时机,而实际真正实现该机制的是其子类Finalizer(终结者),Java终结机制正是通过终结者类与底层逻辑相互配合实现的。原创 2023-06-11 15:50:43 · 1163 阅读 · 0 评论 -
Java ~ Reference ~ Finalizer【源码】
FinalReference(终引用)类是Reference(引用)类的四大子类之一,被作用于实现Java的finalization(终结)机制。相比其他三个子类而言FinalReference(终引用)类相对鲜为人知,因为本身的封闭性令其无法被开发者直接使用(但是用反射的话…),毕竟其在设计上就是为了后台运行而服务的。 Finalizer(终结者)类是FinalReference(终引用)类的唯一子类,是其功能定义的具体实现者。原创 2022-11-04 13:49:14 · 501 阅读 · 0 评论 -
Java ~ Reference ~ Finalizer【总结】
Finalizer(终结者)类是FinalReference(终引用)类的唯一子类,同时也是Finalization(终结)机制的具体定义及实现者。终结者类必须搭配引用队列使用,并且所有终结者都会固定将f-queue作为自身的注册引用队列。当F类对象被创建时,JVM会自动将之作为所指对象创建终结者。f-queue的本质其实就是在终结者类中创建的全局唯一引用队列,由于其在终结机制中发挥了重要作用,因此在JVM相关书籍中将之命名为了f-queue。原创 2023-06-11 17:07:44 · 1000 阅读 · 0 评论 -
Java ~ Reference ~ FinalizerHistogram【源码】
FinalizerHistogram(终结者柱状图)类用于支持GC.finalizer_info诊断命令,由虚拟机进行调用。终结者柱状图类的作用是统计Finalizer(终结者)总数,其会以终结者所指对象/F类对象的类为维度对f-queue中的终结者进行统计,返回倒序排序(即从大到小)的终结者总数统计结果,以支持GC.finalizer_info诊断命令。原创 2023-06-11 16:36:22 · 726 阅读 · 0 评论 -
Java ~ Reference ~ FinalizerHistogram【总结】
FinalizerHistogram(终结者柱状图)类用于支持GC.finalizer_info诊断命令,由虚拟机进行调用。终结者柱状图类的作用是统计Finalizer(终结者)总数,其会以终结者所指对象/F类对象的类为维度对f-queue中的终结者进行统计,返回倒序排序(即从大到小)的终结者总数统计结果,以支持GC.finalizer_info诊断命令。原创 2023-06-11 16:11:44 · 1028 阅读 · 0 评论