自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 Java中都有哪些引用类型?

无论是通过引用计数算法判断对象的引用数量,还是通过可达性分析算法判断对象是否引用链可达,判定对象是否存活都和“引用”离不开关系。如今,将引用分为强引用、软引用、弱引用和虚引用4种,强度依次减弱。1、强引用:发生GC的时候不会被回收。2、软引用:有用但不是必须的对象,在发生内存溢出之前会被回收。3、弱引用:有用但不是必须的对象,在下一次GC的时候会被回收。4、虚引用:无法通过虚引用获得对象,用PhantomReference实现虚引用,虚引用的用途是在GC时返回一个通知。...

2020-06-20 22:50:00 1084

原创 对象已死?

垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象哪些已经死亡,哪些还存活。方法:引用计数算法(Reference Counting)和可达性分析算法(Reachability Analysis)。引用计数算法:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一;任何时刻计数器为零的对象就是不可能再被使用的。引用计数算法虽然占用了一些额外的内存空间来进行计数,但它的原理简单,判定效率也很高。但是,在Java领域,至少主流的Java虚拟机里面都没有选用引

2020-05-25 01:12:42 166

原创 JVM的内存区域

JVM中内存分为若干部分:堆、方法区、虚拟机栈、本地方法栈、程序计数器。堆:Java堆是虚拟机所管理的内存中的最大的一块,是被所有线程共享的一块内存区域,在虚拟机启动时创建,此内存区域的唯一目的是存放对象实例。Java堆是垃圾收集器管理的内存区域,由于现代垃圾收集器大部分都是基于分代收集理论设计的,所以Java堆还可以分为新生代和老年代。如果从分配内存的角度看,所有线程共享的Java堆中可以划分出多个线程私有的分配缓冲区,以提升对象分配时的效率。Java堆可以处于物理上不连续的内存空间中,但在逻辑上应该

2020-05-22 01:13:55 108

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除