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

英文网站源码成都培训学校网站建设

英文网站源码,成都培训学校网站建设,diy电子商城网站,东莞大岭山核酸检测点深入理解Java虚拟机---内存分配 GC日志内存分配与回收策略对象优先在Eden分配大对象直接进入老年代长期存活的对象将进入老年代动态对象年龄判定空间分配担保 GC日志 以下两段典型的GC日志#xff1a; 33.125: [GC [DefNew: 3324K-152K(3712K), 0.0025925 secs] 3324K- 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: user0.01 sys0.00, real0.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这个收集器日志参数告诉虚拟机在发生垃圾收集行为时打印内存回收日志并且在进程退出的时候输出当前内存各区域的分配情况。在实际应用中内存回收日志一般是打印到文件后通过日志工具进行分析。 新生代GCMinor GC发生在新生代的垃圾收集动作Minor GC非常频繁一般回收速度也比较快。 老年代GCMajor 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.hkea.cn/news/14398009/

相关文章:

  • 给网站做图名词解释seo
  • 南昌网站seo多少钱小红书推广渠道
  • 桐乡住房和城乡规划建设局网站wordpress 怎么使用
  • 网站的管理wordpress插件无法安装插件
  • 作一个网站要多少钱做网站需要多少固定带宽
  • 网站建设的平面设计免费营销软件网站建设
  • 做商城网站外包做网站哪家公司好
  • 响应式网站建设服务器湖南网络推广排名
  • 服务器放网站wordpress主题底部
  • 网站建设小程序湖南丽水微信网站建设报价
  • 门户网站建设内短视频素材下载网站 免费
  • 我要发布文章到网站上推广 哪些网站最好wordpress mysql port
  • 网站 设计 趋势中国电商网官网
  • 淘宝网站品牌设计国外专门做杂志的共享网站
  • iis网站权限配置河南建设部网站官网
  • 关于做网站的论文wordpress产品筛选
  • 海口网站建设q.479185700惠修改wordpress版权
  • wordpress中文站网站网络推广运营
  • 服务好的公司网站建设与维护成都蜀美网站建设
  • 峡山网站建设wordpress模板免费
  • python nginx做网站重庆网站开发解决方案
  • 什么建站程序最利于seoapp商店
  • 安庆做网站公司网站制作公司
  • 高端电商网站开发公众号涨粉
  • 有没有做头像的网站网站建设和管理自查报告
  • 厦门网站建设策划可以做科学模拟实验的网站
  • 网站建设需要汇报哪些内容自己网站首页如何设置
  • 潍坊网站建设最新报价做原创音乐的网站
  • cpa没有网站怎么做网站 哪些服务器
  • 网站 开发 周期肇庆网站建设优化