当前位置: 首页 > news >正文

保定网站建设技术支持网络广告的发布方式包括

保定网站建设技术支持,网络广告的发布方式包括,怎么在百度建设网站,农产品价格实时价格网深入理解Java虚拟机---内存分配 GC日志内存分配与回收策略对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保 GC日志 以下两段典型的GC日志: 33.125: [GC [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K-&…

深入理解Java虚拟机---内存分配

  • GC日志
  • 内存分配与回收策略
    • 对象优先在Eden分配
    • 大对象直接进入老年代
    • 长期存活的对象将进入老年代
    • 动态对象年龄判定
    • 空间分配担保

GC日志

以下两段典型的GC日志:

33.125: [GC [DefNew: 3324K->152K(3712K), 0.0025925 secs] 3324K->152K(11904K), 0.0031680 secs]  
100.667: [Full GC [Tenured: 0K->210K(10240K), 0.0149142 secs] 4603K->210K(19456K), [Perm : 2999K->2999K(21248K)], 0.0150007 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]

最前面的数字“33.125:”和“100.667:”代表了 GC发生的时间,这个数字的含义是从 Java虚拟机启动以来经过的秒数。GC日志开头的“[ GC”和“[Full GC”说明了这次垃圾收集的停顿类型,而不是用来区分新生代GC还是老年代GC的。如果有“Full”,说明这次GC是发生了STW。如果是 调用System.gc()方法所触发的收集,那么在这里将显示“[Full GC (System)”。
[DefNew”、“[Tenured”、“[Perm”表示GC发生的区域,这里显示的区域名称与使用的GC收集器是密切相关的,例如上面样例所使用的Serial收集器中的新生代名为“Default New Generation”,所以显示的是“[DefNew”。如果是ParNew收集器, 新生代名称就会变为“[ParNew”,意为“Parallel New Generation”。如果采用Parallel Scavenge收集器,那它配套的 新生代称为“PSYoungGen”,老年代和永久代同理,名称也是由收集器决定的。后面方括号内部的“ 3324K->152K(3712K)”含义是“GC前该内存区域已使用容量-> GC后该内存区域已使用容量 (该内存区域总量)”。而在 方括号之外的“3324K->152K(11904K)”表示“GC前Java堆已使用容量 -> GC后Java堆已使用容量 (Java堆总容量)”。 “0.0025925 secs”表示该内存区域GC所占用的时间,单位是秒。

内存分配与回收策略

对象优先在Eden分配

大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够的空间进行分配时,虚拟机将发起一次Minor GC。虚拟机提供了-XX:+PrintGCDetails这个收集器日志参数,告诉虚拟机在发生垃圾收集行为时打印内存回收日志,并且在进程退出的时候输出当前内存各区域的分配情况。在实际应用中,内存回收日志一般是打印到文件后通过日志工具进行分析。
新生代GC(Minor GC):发生在新生代的垃圾收集动作,Minor GC非常频繁,一般回收速度也比较快。
老年代GC(Major GC / Full GC):发生在老年代的GC,出现了Major GC。MajorGC的速度一般会比Minor GC慢10倍以上。

大对象直接进入老年代

所谓大对象指需要大量连续内存空间的Java对象,最典型的大对象就是那种很长的字符串及数组。虚拟机提供了一个-XX:PretenureSizeThreshold参数,令大于这个设置值的对象直接在老年代中分配。这样做的目的是避免在Eden区及两个Survivor区之间发生大量的内存拷贝。
PretenureSizeThreshold参数只对Serial和ParNew两款收集器有效,Parallel Scavenge收集器不认识这个参数,Parallel Scavenge收集器一般并不需要设置。如果遇到必须使用此参数的场合,可以考虑ParNew加CMS的收集器组合。

长期存活的对象将进入老年代

虚拟机给每个对象定义了一个对象年龄(Age)计数器。如果对象在Eden出生并经过第一次Minor GC后仍然存活,并且能被Survivor容纳的话,将被移动到Survivor空间中,并将对象年龄设为1。对象在Survivor区中每熬过一次Minor GC,年龄就增加1岁,当它的年龄增加到一定程度(默认为15岁)时,就会被晋升到老年代中。对象晋升老年代的年龄阈值,可以通过参数-XX:MaxTenuringThreshold来设置。

动态对象年龄判定

虚拟机并不总是要求对象的年龄必须达到MaxTenuringThreshold才能晋升老年代,如果在Survivor空间中相同年龄所有对象大小的总和大于Survivor空间的一半,年龄大于或等于该年龄的对象就可以直接进入老年代,无须等到MaxTenuringThreshold中要求的年龄。

空间分配担保

在发生Minor GC时,虚拟机会检测之前每次晋升到老年代的平均大小是否大于老年代的剩余空间大小,如果大于,则改为直接进行一次Full GC。如果小于,则查看HandlePromotionFailure设置是否允许担保失败;如果允许,那只会进行Minor GC;如果不允许,则也要改为进行一次Full GC。

来源:《深入理解Java虚拟机》

http://www.ds6.com.cn/news/67276.html

相关文章:

  • 上海seo优化外包公司无锡seo排名收费
  • 网站建设合同的性质济南市新闻最新消息
  • 2003访问网站提示输入用户名密码百度网页入口
  • wordpress小说网站模板下载地址网页设计模板网站免费
  • 北京做网站海宇勇创如何宣传推广自己的店铺
  • 公司企业网站怎么建设seo软件开发
  • 怎样给网站做appseo是什么意思如何实现
  • 南充网站建设略奥网络数字营销网站
  • phpcms校园网站如何优化网络环境
  • 网站建设 流程 域名申请深圳网站制作哪家好
  • 石家庄做网站的有哪些公司搜狗seo排名软件
  • 08系统iis信息管理器怎么建设网站免费发布信息网网站
  • 中国建设银行属于什么类型网站新闻早知道
  • 自己做的网站打不开怎么搞网站关键词优化怎么弄
  • 个人备案网站可以做电影站吗互联网推广好做吗
  • 做行业网站能赚钱吗网站免费推广的方法
  • 做网站去哪里接单手机创建网站教程
  • 网站新闻专题怎么做电脑培训学校课程
  • 外贸b2b网站如何做外链企业管理培训机构排名前十
  • 建立网站需要准备的材料百度百科推广费用
  • iis网站日志关键词排名手机优化软件
  • 海口网站制作网站百度首页排名优化多少钱
  • 一学一做腾讯视频网站吗最新旅游热点
  • 网站域名解释怎么做哪里可以做
  • 做网站刷流量挣钱吗苏州百度关键词优化
  • 宝鸡免费做网站公司手机百度
  • 织梦网站怎么做新闻导航页刷百度指数
  • 自己做的网站打不开网络推广外包联系方式
  • 网页游戏网站链接互联网推广渠道
  • 网站建设捌金手指下拉十一旺道营销软件