7-8垃圾箱分布_您认为有关垃圾收集的7件事-完全错了
7-8垃圾箱分布
关于Java Garbage Collection的最大误解是什么?它的真实情况如何?
小时候,我的父母曾经告诉我,如果我学习不好,我将成为垃圾收集者。 他们几乎不知道,垃圾回收实际上是很棒的。 也许这就是为什么即使在Java世界中,许多开发人员也会误解GC算法:它们如何工作,GC如何影响其应用程序以及您可以对此做些什么。 这就是为什么我们求助 Java性能调优专家Haim Yadid并将Java性能调优指南放到Takipi博客上的原因。
新帖:关于垃圾回收的7件事您以为您知道-完全错了http://t.co/3QJLJuKCRq pic.twitter.com/aqQEF0zTkK
— Takipi(@takipid) 2015年4月6日
由于对性能调优指南的兴趣,在此后续文章中,我们决定收集一些有关垃圾回收的流行观点,并向您展示为什么它们是完全错误的。 以下是前7名:
1.只有一个垃圾收集器
不,并且4也不是正确的答案。 HotSpot JVM总共有4个垃圾收集器: 串行,并行/吞吐量。 CMS,并在块G1上新建一个孩子 。 但是,还有更多,还有非标准的垃圾收集器,还有更多冒险的实现,例如Shenandoah或其他JVM使用的收集器(例如C4, Azul的不间断收集器)。 HotSpot的默认值是并行/吞吐量收集器,通常它不是您的应用程序的最佳选择。 例如,CMS和G1收集器将导致较少的GC暂停。 但是,当出现暂停时,其持续时间很可能会比Parallel收集器引起的持续时间更长。 另一方面,对于相同大小的堆,并行收集器通常可实现更高的吞吐量。
总结:根据您的要求选择合适的垃圾收集器:可接受的GC暂停频率和持续时间。
2.并行=并发
垃圾回收周期可以是STW(紧急停止)并导致GC暂停,也可以并发执行而无需停止应用程序。 当我们更进一步时,GC算法本身可以是串行(单线程)或并行(多线程)的。 这就是为什么当我们提到并发GC时,它不一定意味着它是并行完成的;反之,当我们提到串行GC时,它并不一定意味着它会引起暂停。 在垃圾回收世界中,Concurrent和Parallel是两个绝对不同的术语,其中Concurrent是指GC周期,而Parallel是指GC算法本身。
总结:垃圾回收是一个两步游戏,调用GC周期的方式及其进行业务的方式是两件不同的事情。
3. G1解决了所有问题
G1收集器是Java 7中引入的,并且经过了许多更改和修改,是JVM垃圾收集器的最新成员。 主要优势在于,它解决了CMS收集器常见的碎片问题:GC循环释放旧一代的内存块,并使它看起来像瑞士奶酪,直到一会儿JVM无法处理并不得不停止并停止运行。处理碎片。 但这还不是故事的结局,在某些情况下其他收藏家的表现可能优于G1。 这完全取决于您的要求。
要点:没有所有GC问题的奇迹解决方案,需要进行实验以帮助您为JVM选择正确的收集器。
4.平均交易时间是最重要的指标
如果仅监视服务器中的平均交易时间,那么您会错过异常值。 人们对系统用户的破坏性知之甚少。 例如,通常需要100毫秒以下的事务可能会受到GC暂停的影响,并且需要一分钟才能完成。 如果您只查看平均交易时间,那么除了用户以外的任何人都不会注意到。 现在考虑1%或更多用户的这种情况,您会发现仅查看平均值就可以轻松忽略它。 有关与延迟相关的更多问题以及解决方法,请点击此处查看Gil Tene的博客。
要点:密切注意异常值,了解系统在第99个百分位数( 不是1% )上的表现。
5.降低新的对象分配率将改善GC行为
我们可以将系统中的对象大致分为三类:长期存在的对象,通常对它们我们无能为力,导致最大问题的中期存在的对象,以及通常被释放并导致长期生存的短期对象分配Swift,因此它们在下一个GC周期中消失了。 中度对象是那些注重其分配率可以带来积极结果的对象。 集中精力于短期和长期的对象通常不会被证明是有效的,控制中期对象通常是一项艰巨的任务。
要点:并不是唯一的对象分配速率会限制您的服务器,而是造成所有麻烦的对象类型。
6.调整可以解决所有问题
如果您的应用程序需要保持经常更改的大型状态,那么调整JVM的堆并不会带来太多好处。 GC长时间停顿是不可避免的。 可以在体系结构更改方面提出解决方案,以确保具有关键过程/瓶颈影响响应时间的流程不会包含大状态。 大型状态和响应能力不能很好地结合在一起:将其分解为不同的流程将是解决之道。
总结:并非所有问题都可以通过调整JVM标志来解决,有时您只需要回到绘图板上即可。
7. GC日志会导致大量开销
这是完全不正确的,尤其是默认的日志设置。 数据非常有价值,并且Java 7引入了挂钩来控制它们的大小,并确保它们不会耗尽您的所有硬盘驱动器。 如果您不收集GC日志数据,那么您将失去了解JVM垃圾收集在生产中的行为的唯一途径。 可接受的GC开销通常有5%的上限,要知道系统中的收费GC暂停产生了什么样的费用并将其最小化,付出的代价是很小的。
总结:竭尽所能,在生产中从系统中获取最多的数据。 那里是一个完全不同的世界。
结论
我们希望这些内容能帮助您更好地了解Java中垃圾回收的真正工作方式。 您是否在应用程序中认识到其中一些问题? 您是否遇到其他更常见的垃圾回收错误? 在下面的评论部分让我们知道。
翻译自: https://www.javacodegeeks.com/2015/04/7-things-you-thought-you-knew-about-garbage-collection-and-are-totally-wrong.html
7-8垃圾箱分布
7-8垃圾箱分布_您认为有关垃圾收集的7件事-完全错了相关推荐
- 归纳推理测试没做完_敷完面膜不要做4件事,不但敷了面膜没效果,皮肤还变差了...
阅读本文前,请您先点击上面的蓝色字体,再点击"关注",这样您就可以继续免费收到内容了.每天都有分享.完全是免费订阅,请放心关注. 夏天最惬意的事是什么呢?必须是洗完脸后,来张面膜贴 ...
- 查询成绩最好的前两名_一级建造师成绩查询前这几件事很重要
2020年已经只剩下一个月的时间了,12月份是我们向2020年说再见的月份,同样也是我们一级建造师查分的月份,不知不觉中一级建造师考试已经过去两个多月的时间了,马上就到了查分这个令人心动的的时间节点来 ...
- keyshot卡住了还能保存吗_相机希望你知道的13件事 keyshot相机切换事件
一次我去我学校的球场看足球比赛,遇见一对父母,他们在为自己的孩子拍摄,全程用自动挡,还对着几百米远奔跑的儿童开闪光灯!老实说作为一名严肃的摄影爱好者我有深深的强迫症,于是忍不住就上去跟他们聊开手把手教 ...
- 非线性流形学习技术_非技术人员可以学习的100件事
非线性流形学习技术 My lovely wife has an MBA, speaks 5 languages, and is currently in school to get a third ( ...
- 一等公民 二等公民_关于公民众筹的四件事你不知道
一等公民 二等公民 众筹无处不在. 人们正在使用它来资助手表,漫画书,甚至著名的电影导演也在这样做. 在当今全球价值60亿美元的行业中,我认为最有趣,最具颠覆性和令人兴奋的工作是基于捐赠的众筹. 每年 ...
- PAT天梯赛练习题——L3-005. 垃圾箱分布(暴力SPFA)
L3-005. 垃圾箱分布 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁 ...
- 【CCCC】L3-005 垃圾箱分布 (30分),Dijkstra跑n遍 = 多源最短路,emm
problem L3-005 垃圾箱分布 (30分) 大家倒垃圾的时候,都希望垃圾箱距离自己比较近,但是谁都不愿意守着垃圾箱住.所以垃圾箱的位置必须选在到所有居民点的最短距离最长的地方,同时还要保证每 ...
- gamma分布_如何通俗的理解伽马(gamma)函数
如何通俗的理解伽马(gamma)函数 - 直觉,求导和示例 我为什么要在乎garmma分布? 使用伽马函数定义了许多概率分布,例如伽马分布,Beta分布,狄利克雷分布,卡方分布和学生t分布等. 对于数 ...
- 原子设计_您需要了解的有关原子设计的4件事
原子设计 重点 (Top highlight) Industries such as Architecture or Industrial Design have developed smart mo ...
最新文章
- hive导出数据到本地文件报错解决方法
- Ajax跨域请求action方法,无法传递及接收cookie信息(应用于系统登录认证及退出)解决方案
- 解释性的语言vs编译性语言
- USACO 3.2 kimbits DP
- 操作系统(十一)处理机调度概述
- php中html富文本编辑器,php + wangEditor 富文本编辑器的配置
- 酒鬼随机漫步(一个矢量类)
- 作者:伍筱聪(1989-),女,中国科学院上海天文台助理工程师
- FileFilter接口 java
- C while 循环
- .NET——NPOI操作excel
- python绘制风向玫瑰图和污染物玫瑰图
- matlab信号与系统论文,基于MATLAB的《信号与系统》课程教学研究
- 读《自己动手写操作系统》(于渊著)第一节
- 木马分析(控制分析)实验
- 软件架构之分层模式 Layered Architecture
- P1427 小鱼的数字游戏——栈的初次会面
- 储氢合金/金属氢化物吸放氢动力学模型——Chou模型
- androidx指纹验证
- 2019最新升级【超能版】 vbox硬件级虚拟机系统 去虚拟化去vm标识 支持批量启动 批量克隆 CPA网赚挂机电商 virtualbox