首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

ValueType包装器的垃圾收集

ValueType包装器的垃圾收集是指在Java编程语言中,对ValueType类型的数据进行垃圾回收。ValueType是Java中的一种基本数据类型,包括byte、short、int、long、char、float和double等。这些数据类型的值直接存储在栈内存中,因此在垃圾回收时,它们的回收速度比较快。

在Java中,垃圾收集器主要针对的是堆内存中的对象,因为对象是存储在堆内存中的。但是,对于ValueType类型的数据,它们是存储在栈内存中的,因此它们不需要垃圾收集器的回收。

当ValueType类型的数据作为对象的成员变量时,这些数据仍然会被回收,因为它们是对象的一部分。但是,对于ValueType类型的数据,它们的回收速度比较快,因为它们直接存储在栈内存中。

总之,ValueType包装器的垃圾收集是指对ValueType类型的数据进行垃圾回收。这些数据类型的值直接存储在栈内存中,因此在垃圾回收时,它们的回收速度比较快。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Java 垃圾收集垃圾收集算法

垃圾收集垃圾收集算法 在之前曾分享了一篇 Junnplus 关于 Python 垃圾回收文章,孟同学读后不服,立马撰文以表达对 Java 真挚爱❤️。...在 Java 中,垃圾回收是个基础而有趣的话题,本文主要讲解 Java 垃圾收集垃圾收集算法,首先,需要理解几个概念: 引用计算法:通俗讲,引用计数法是这样这样一种场景,在类中设置一个计数变量,专门用来存储当前类有多少引用...标记清理算法 此算法就是字面上意思,先是把内存中需要收集对象标记下来,然后进行内存空间回收。 标记方法可以使用可达性分析,不采用引用计数法。...分代收集 这并不是新算法,而是根据新生代和老年代不同存活周期,选择不同算法,老年代采用标记-整理算法,而新生代采用复制算法,不过比例不是 1:1,而是 8:1:1,占 8/10 区域是新生代,被称作...现在主流虚拟机都采用分代收集算法,在新生代中,每次垃圾收集时都有大批对象死去,只有少量存活,适合采用复制算法,老年代中存活率高,而且没有额外空间为它进行分配担保,适合采用标记-清理或标记-整理算法。

48720

HotSpot垃圾收集1 Serial垃圾收集2 ParNew垃圾收集3 Parallel Scavenge垃圾收集老年代垃圾收集1 Serial Old垃圾收集2 Parallel Ol

HotSpot虚拟机提供了多种垃圾收集,每种收集都有各自特点,没有最好垃圾收集,只有最适合垃圾收集 根据新生代和老年代各自特点,我们应该分别为它们选择不同收集,以提升垃圾回收效率....1 Serial垃圾收集 ?...或GCTimeRadio 老年代垃圾收集 1 Serial Old垃圾收集 Serial老年代版本,都是单线程收集,GC时只启动一条GC线程,因此都适合客户端应用...."算法.因此,由于在GC过程中没有使垃圾收集和用户线程并行执行,因此它们是追求吞吐量垃圾收集. ?...G1收集(Garbage-First) G1是当今最前沿垃圾收集成果之一.

96580
  • 垃圾收集

    ,还有目前广泛使用,如图1-19所示就是7个经典垃圾收集,其中G1是目前应用最为广泛,还有一些是JDK8以上支持垃圾收集,图中并未展示,后面小结中会提到。...图 1-19 HotSpot中经典垃圾收集 1.5.1 Serial收集 这个收集是最基本,也是历史最悠久收集,目前基本不会用了,想当年也是新生代唯一选择,但是这么多年过去了,HotSpot...图1-20 Serial/Serial Old垃圾收集运行过程 这里埋下了一个伏笔,越优秀收集,他停顿时间一定越短,这也是所有收集共同追求目标。...CMS是基于标记-清除算法,因为过程中有并发标记阶段因此可以叫做并发标记清理收集,并发标记清理收集也称为并发低停顿收集或低延迟垃圾收集。他宗旨是:低停顿。...(Garbage-First)是JDK7-u4才推出商用收集,在JDK9成为HotSpot默认垃圾收集,CMS从此退出历史舞台。

    40310

    jvm -垃圾收集算法与经典垃圾收集

    jvm学习 跟随《第三版深入理解Java虚拟机》巨著学习,哈哈哈(书本第三章) 垃圾收集算法 *标记清除算法 *标记复制算法 *标记移动算法 标记-清除算法 标记清除算法...,首先对需要收集对进行标记,或者对不需要回收对象进行标记,然后统一回收掉被标记对象。...观点:很明显,从算法角度来说,对整个区域内对象进行遍历,判断是否为需要回收对象,时间复杂度为 O(n)会随着对象数量增加,执行时间会相应增加,还有,对象收集后,留下内存区域一般为不连续,再要存放内存占用大对象时候...标记-复制算法 首先将栈区分为1/2,1/2 区域会用作存放对象,另一半空闲,当发生垃圾回收时,该算法会将标记不回收对象,统一复制到 1/2空闲区域,再将剩下清除掉。...分析:这样做减少了标记 是否需要回收对象时间,但总体来说1/2存储空间相对被浪费了,而且试想,栈区能被存储空间小了,因此栈区会被比较快存满,调用垃圾回收进程次数应该比 使用标记清除算法多。

    27300

    JVM笔记-垃圾收集算法与垃圾收集

    这里垃圾回收算法都属于“追踪式垃圾收集范畴。 2.0 分代收集理论 当代商业虚拟机垃圾收集,多数都遵循了“分代收集”(Generational Collection)理论。...目前只有 G1 收集会有这种行为。 整堆收集(Full GC):收集整个 Java 堆和方法区垃圾收集。 下面介绍常见垃圾收集算法。...垃圾收集 前面的收集算法只是内存回收方法论,而垃圾收集才是内存回收具体实现(可理解为“接口”与“实现类”关系)。...优于其他收集地方:简单而高效(与其他收集单线程比)。对于限定单个 CPU 环境来说,Serial 收集由于没有线程交互开销,专心做垃圾收集自然可以获得最高单线程收集效率。...) 收集垃圾收集发展史上里程碑式成果,开创了「面向局部收集设计思路和「基于 Region」内存布局形式。

    52510

    HotSpot 垃圾收集

    ---- HotSpot 虚拟机提供了多种垃圾收集,每种收集都有各自特点,虽然我们要对各个收集进行比较,但并非为了挑选出一个最好收集。我们选择只是对具体应用最合适收集。...新生代垃圾收集 Serial 垃圾收集(单线程) 只开启一条 GC 线程进行垃圾回收,并且在垃圾收集过程中停止一切用户线程(Stop The World)。...由于 Serial 收集只使用一条 GC 线程,避免了线程切换开销,从而简单高效。 ? ParNew 垃圾收集(多线程) ParNew 是 Serial 多线程版本。...老年代垃圾收集 Serial Old 垃圾收集(单线程) Serial Old 收集是 Serial 老年代版本,都是单线程收集,只启用一条 GC 线程,都适合客户端应用。...G1 通用垃圾收集 G1垃圾回收是在Java7 update 4之后引入一个新垃圾回收。G1是一个分代,增量,并行与并发标记-复制垃圾回收

    43560

    Java垃圾收集

    GC(垃圾收集)算是Java语言一大特色,不同于C/C++要我们手动释放内存,GC能够帮我们回收90%以上垃圾”。下面就来介绍一下垃圾收集。 1. Java中如何定义一个“垃圾” 2....2.什么是“垃圾收集 ---- 垃圾收集其实就是一个后台守护进程,在内存充足情况下,它优先级很低,一般不出来运行,当内存中有很多垃圾时,它优先级就会变高,并出来清理垃圾,正因为如此,垃圾收集运行时间是没有保障...就是当垃圾收集要回收垃圾对象之前,调用finalize()方法,如果没有回收成功,那么第二次垃圾收集回收这个垃圾对象,就不再调用它finalize()方法,而是直接回收。...在对软引用指向对象进行垃圾收集时,垃圾收集以最近最少使用顺序释放软引用指向对象。 软引用中也有一个常用方法get(),返回软引用指向普通对象。...* 但内存耗尽之前不会对软引用指向对象进行垃圾收集 * 2.在对软引用指向对象进行垃圾收集时,垃圾收集以最近最少使用顺序释放引用指向对象 */ class MySoftObject {

    51120

    JVM垃圾收集垃圾收集及常见组合参数

    Old CMS (Concurrent Mark Sweep) G1 理解吞吐量和停顿时间 如何选择合适垃圾收集呢 首先我们要知道垃圾收集有三种类型: 串行收集 Serial 和 Serial...(适用于科学计算、后台处理等若干交互场景) 并发收集[停顿时间优先] CMS、G1 用户线程和垃圾收集线程同时执行(但并不一定是并行,可能是交替执行),垃圾收集线程在执行时候不会停顿用户线程运行...ParNew 复制算法 新生代 多线程收集 特点:ParNew收集实质上是Serial收集多线程并行版本,除了同时使用多条线程进行垃圾收集之外,其余行为包括Serial收集可用所有控制参数...理解吞吐量和停顿时间 停顿时间 = 垃圾收集进行垃圾回收执行时间 吞吐量 = 运行用户代码时间 / 运行用户代码时间 + 运行垃圾收集时间。...吞吐量和停顿时间是衡量垃圾回收标准,我们进行调优也是观察这两个变量。 如何选择合适垃圾收集呢 这个准则只能参考,因为性能取决于堆大小,应用程序维护实时数据量以及可用处理数量和速度。

    61520

    JVM - 再聊GC垃圾收集算法及垃圾收集

    Pre JVM-04垃圾收集Garbage Collection(上)【垃圾对象判定】 JVM-05垃圾收集Garbage Collection(中)【垃圾收集算法】 JVM-06垃圾收集Garbage...Collection(下)【垃圾收集】 ---- 分代收集理论 当前虚拟机垃圾收集都采用分代收集算法 , 意思就是根据对象存活周期不同将 java堆分为新生代和老年代,这样就可以根据各个年代特点选择合适垃圾收集算法...移动所有存活对象,且按照内存地址次序依次排列,然后将末端内存地址以后内存全部回收。因此,第二阶段才称为整理阶段。 ? ---- 垃圾收集 ? 为什么会有这么多GC 回收?...JVM参数 -XX:+UseSerialGC (新生代) -XX:+UseSerialOldGC (老年代) Serial(串行)收集是最基本、历史最悠久垃圾收集 。 ?...Parallel Scavenge收集关注点是吞吐量(高效率利用CPU) CMS等垃圾收集关注点更多是用户线程停顿时间(提高用户体验) 新生代采用复制算法,老年代采用标记-整理算法。

    34120

    十、垃圾收集

    上篇博客介绍了垃圾回收算法,如果说垃圾回收算法是内存回收方法论,那么垃圾回收就是内存回收具体实现。 ?...上图是基于JDK1.7 Update 14之后HotSpot虚拟机中包含垃圾收集,总共有7种收集。...特性: 这个收集是一个单线程收集,但它“单线程”意义并不仅仅说明它只会使用一个CPU或一条收集线程去完成垃圾收集工作,更重要是在它进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。...在JDK 1.5时期,HotSpot推出了一款在强交互应用中几乎可认为有划时代意义垃圾收集——CMS收集,这款收集是HotSpot虚拟机中第一款真正意义上并发收集,它第一次实现了让垃圾收集线程与用户线程同时工作...仅在CMS收集时生效 九、七种垃圾收集总结 7种垃圾收集对比: 类型 特性 算法 适用场景 优缺点 Serial 单线程收集 复制算法 Serial收集是虚拟机运行在Client模式下默认新生代收集

    31710

    CMS垃圾收集

    目录 1.常见垃圾收集组合方式 young Tenured JVM options Serial Serial -XX:+UseSerialGC Parallel Scavenge Serial...详解 CMS全称 Concurrent Mark Sweep,是一款并发、使用标记-清除算法垃圾回收,如果老年代使用CMS垃圾回收,需要添加虚拟机参数"-XX:+UseConcMarkSweepGC...这个阶段主要是清除那些没有标记对象并且回收空间; 由于CMS并发清理阶段用户线程还在运行着,伴随程序运行自然就还会有新垃圾不断产生,这一部分垃圾出现在标记过程之后,CMS无法在当次收集中处理掉它们,...由于在垃圾收集阶段用户线程还需要运行,那也就还需要预留有足够内存空间给用户线程使用,因此CMS收集不能像其他收集那样等到老年代几乎完全被填满了再进行收集,需要预留一部分空间提供并发收集程序运作使用...,清理工作还没有开始,old gen已经没有空间容纳更多对象了,这时候就会导致concurrent mode failure, 然后就会使用串行收集回收老年代垃圾,导致停顿时间非常长。

    1.2K30

    JVM 垃圾收集

    一、什么是垃圾收集 GC算法(引用计数/复制/标清/标整)是内存回收方法论,垃圾收集就是算法落地实现。...二、4种主要垃圾收集 串行垃圾回收(Serial) 它为单线程环境设计且只使用一个线程进行垃圾回收,会暂停所有的用户线程。所以不适合服务环境。...并行垃圾回收(Parallel) 多个垃圾收集线程并行工作,此时用户线程是暂停,适用于科学计算/大数据处理平台处理等弱交互场景。...G1垃圾回收 G1垃圾回收将堆内存分割成不同区域然后并发对其进行垃圾回收。...六、G1垃圾收集 1、是什么 G1(Garbage-First)收集,是一款面向服务端应用收集,应用在多处理和大容量内存环境中,在实现高吞吐量同时,尽可能满足垃圾收集暂停时间要求。

    44030

    JVM:垃圾收集

    经典垃圾收集 如果说收集算法是内存回收方法论,那垃圾收集就是内存回收实践者。...《Java虚拟机规范》中对垃圾收集应该如何实现并没有做出任何规定,因此不同厂商、不同版本虚拟机所包含垃圾收集都可能会有很大差别,不同虚拟机一般也都会提供各种参数供用户根据自己应用特点和要求组合出各个内存分代所使用收集...大家只看名字就应该能够猜到,这个收集是一个单线程工作收集,但它“单线程”意义并不仅仅是说明它只会使用一个处理或一条收集线程去完成垃圾收集工作,更重要是强调在它进行垃圾收集时,必须暂停其他所有的工作线程...这款收集是HotSpot虚拟机中第一款真正意义上支持并发垃圾收集,它首次实现了让垃圾收集线程和用户线程(基本上)同时工作。...,收集收集速度逐渐跟不上分配器分配速度,导致垃圾慢慢堆积。

    34721

    CMS垃圾收集

    CMS垃圾收集收集详细步骤 初始标记(Stop the world) 并发标记 预清理 可被终止预清理 重新标记(Stop the world) 并发清除 并发重置 初始标记 标记GcRoots直接可达老年对象...并发清除 用户线程被激活,那些未被标志对象会被清除。' 并发重置 CMS垃圾收集参数回到初始状态,为下一次垃圾收集做准备。...使用CMS垃圾收集要注意问题 重新标记停顿时间过长 80%时间花在重新标志阶段,如果发现重新标志阶段停顿时间过长,可尝试添加-XX:+CMSScavengeBeforeRemark,在重新标志之前做一次...,清理工作还没有开始,old gen已经没有空间容纳更多对象了,这时候就会导致concurrent mode failure, 然后就会使用串行收集回收老年代垃圾,导致停顿时间非常长。...JDK1.7,JDK1.8设置CMS垃圾收集XX:+UseConcMarkSweepGC 几个重要CMS参数 -XX:CMSFullGCsBeforeCompaction=n Full GC n 次后进行内存压缩整理

    29800

    JVM 垃圾收集

    本文“垃圾收集”节选自《深入理解Java虚拟机:JVM高级特性与最佳实践》【作者:周志明】 如果说收集算法是内存回收方法论,那么垃圾收集就是内存回收具体实现。...Java 虚拟机规范中对垃圾收集应该如何实现并没有任何规定,因此不同厂商、不同版本虚拟机所提供垃圾收集都可能会有很大差别,并且一般都会提供参数供用户根据自己应用特点和要求组合出各个年代所使用收集...这个收集是一个单线程收集,只会使用一个CPU 或一条收集线程去完成垃圾收集工作。重要是,它在进行垃圾收集时,必须暂停其他所有的工作线程,直到它收集结束。...这是因为它有着优于其他收集地方:简单而高效(与其他收集单线程相比),对于限定单个CPU环境来说, 该收集由于没有线程交互开销,专心做垃圾收集自然可以获得最高单线程收集效率。...(2) CMS 收集无法处理浮动垃圾 CMS 收集无法处理浮动垃圾,可能出现 Concurrent Mode Failure 失败而导致另一次 Full GC 产生。

    30220

    垃圾收集总结

    垃圾收集总结 常用垃圾收集对比 垃圾收集 串行/并行/并发 新生代/老年代 算法 目标 适用场景 Serial 串行 新生代 复制 低延迟优先 单 CPU 环境下 Client 模式 Serial...CMS 并发 老年代 标记-清除 低延迟优先 内存不大 Java 应用 G1 并发 both 标记-整理+复制 低延迟优先 大内存 Java 应用 常用垃圾收集组合 Serial + Serial...:实现大内存 Java 应用低延迟垃圾回收机制 如何选择垃圾收集 吞吐量优先 or 低延迟优先 吞吐量优先 目标是充分利用多核 CPU 资源,让 CPU 尽可能多地处理业务,可以选择 Parallel...不然大内存下,一次 Full GC 时间可能达到秒级别,业务上无法忍受。 垃圾收集技术发展脉络 串行 -> 并行 充分利用多核 CPU 优势,大幅降低 GC 停顿时间,提升吞吐量。...G1 -> ZGC ZGC 号称无停顿垃圾收集,这又是一次极大改进。 ZGC 和 G1 有一些相似的地方,但是底层算法和思想又有了全新突破。

    34110

    HotSpot 垃圾收集

    HotSpot 垃圾收集HotSpot 虚拟机提供了多种垃圾收集,每种收集都有各自特点,虽然我们要对各个收集进行比较,但并非为了挑选出一个最好收集。...我们选择只是对具体应用最合适收集。新生代垃圾收集Serial 垃圾收集(单线程)只开启一条 GC 线程进行垃圾回收,并且在垃圾收集过程中停止一切用户线程,即 Stop The World。...由于 Serial 收集只使用一条 GC 线程,避免了线程切换开销,从而简单高效。图片ParNew 垃圾收集(多线程)ParNew 是 Serial 多线程版本。...老年代垃圾收集Serial Old 垃圾收集(单线程)Serial Old 收集是 Serial 老年代版本,都是单线程收集,只启用一条 GC 线程,都适合客户端应用。...G1 通用垃圾收集G1 是一款面向服务端应用垃圾收集,它没有新生代和老年代概念,而是将堆划分为一块块独立 Region。

    16010

    JVM之垃圾回收-垃圾收集

    概述 如果说前面介绍收集算法(JVM之垃圾回收-垃圾收集算法)是内存回收抽象策略,那么垃圾收集就是内存回收具体实现。...JVM规范对于垃圾收集应该如何实现没有任何规定,因此不同厂商、不同版本虚拟机所提供垃圾收集差别较大,这里只看HotSpot虚拟机。...就像没有最好算法一样,垃圾收集也没有最好,只有最合适。我们能做就是根据具体应用场景选择最合适垃圾收集。...Serial收集 Serial(串行)收集收集是最基本、历史最悠久垃圾收集了(新生代采用复制算法,老生代采用标志整理算法)。大家看名字就知道这个收集是一个单线程收集了。...在后续垃圾收集设计中停顿时间在不断缩短(但是仍然还有停顿,寻找最优秀垃圾收集过程仍然在继续) 整理一下前面关于Serial收集知识 特点 针对新生代收集; 采用复制算法; 单线程收集

    58410

    JVM-06垃圾收集Garbage Collection(下)【垃圾收集

    ---- Serial收集 Serial收集是最古老收集。 缺点: 当Serial收集想进行垃圾回收时候,必须暂停用户所有进程,即stop the world。 ?...到现在为止,它依然是虚拟机运行在client模式下默认新生代收集,与其他收集相比,对于限定在单个CPU运行环境来说,Serial收集由于没有线程交互开销,专心做垃圾回收自然可以获得最高单线程收集效率...---- ParNew收集 ParNew收集是Serial收集新生代多线程实现,注意在进行垃圾回收时候依然会stop the world,只是相比较Serial收集而言它会运行多条进程进行垃圾回收...UseFullGCsBeforeCompaction:设定进行多少次 CMS 垃圾回收后,进行一次内存压缩。 ---- G1收集 G1收集是一款面向服务端应用垃圾收集。...分代收集:和其他收集一样,分代概念在G1中依然存在,不过G1不需要其他垃圾回收配合就可以独自管理整个GC堆。

    25610

    JVM垃圾收集策略

    ,加入A对象引用了B对象,而B对象也引用了A对象,而A对象和B对象不再被其他对象所引用,那么A和B对象都是不可达,但是引用计数法会导致A和B引用计数都不为0,所以不会被垃圾收集回收,因此JVM主流虚拟机都不会用这种方式来判断对象是否可达...因为以上四种在Java程序运行起来之后就基本不会被回收 Java中对象引用 强引用,new出来对象就是属于强引用,只要对象存在强引用,垃圾回收就不会回收该对象 软引用,如果对象存在软引用,垃圾回收在发生...Gc操作时候并不会被回收,而是在程序内存紧张时候才会被回收,例如抛出OOM之前会被回收,SoftReference类来实现软引用 弱引用,如果对象存在弱引用,那么在每次垃圾回收发生Gc操作时候都会被回收...,WeakReference来实现弱引用 虚引用,虚引用是最弱引用关系,虚引用主要用来跟踪对象被垃圾回收回收活动。...,永久代垃圾回收主要是回收废弃常量和无用类 废弃常量,所谓废弃常量是指程序中是否还存在引用该常量String对象,如果没有,那么该常量就是废弃常量,垃圾回收发生Gc时候就会回收 无用类,无用类指的是该类所以实例都已经被回收

    29950
    领券