2017对手机全方位dnf守护者转职2017,有没有什么好的软件?

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
用标记法压缩色域
Color Gamut Compression with Tagging Method
下载积分:1500
内容提示:用标记法压缩色域
Color Gamut Compression with Tagging Method
文档格式:PDF|
浏览次数:4|
上传日期: 16:35:48|
文档星级:
该用户还上传了这些文档
用标记法压缩色域
Color Gamut Compression with Tag
官方公共微信GC垃圾回收的算法和实现(6)
GC标记压缩算法由标记阶段和压缩阶段组成,标记阶段和标记-清除算法的完全一致
接下来,要搜索多次堆来进行压缩,压缩阶段通过数次搜索堆来重新装填活动对象
压缩阶段不会改变对象的排列顺序,只是缩小彼此间的空隙,使他们聚集到堆的一端
compaction_phase(){
set_forwarding_ptr() //设定forwarding指针
adjust_ptr() //更新指针
move_obj() //移到对象}
1)它会搜索整个堆,给活动对象设定forwarding指针,假设初始阶段的forwarding指针为NULL
2)一旦找到活动对象,就将forwarding指针的引用目标从NULL指向new_address
3)通过对象copy把活动对象集中到堆的最左侧
优点:堆的利用效率高
缺点:需要多次搜索整个堆,所以,吞吐量较低(耗时较长)
#### Two-Finger算法:
1)移到对象:使用$free和$live两个指针开始搜索,free指针寻找非活动对象,live指针寻找活动对象,分别从堆的两端开始搜索,当free指向非活动对象,live指向活动对象时,交换空间,直到两个指针交叉,意味着搜索结束
2)更新指针,将指针的引用目标更新到移动后的对象
1)不用专门为forwarding指针留出域,不需要额外的内存空间
2)节省了一次堆的遍历搜索
1)不考虑对象间的引用关系,一味压缩,使对象顺序发生很大的变化,具有引用关系的对象可能相距较远,没办法利用缓存了
2)它要求各个对象的大小必须一致,能消除这个限制处理的系统不多,所以限制了它的使用
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3159次
排名:千里之外
原创:74篇
(6)(20)(6)(23)(19)(2)GC复制算法和标记-压缩算法的疑问 - 高级语言虚拟机 - ITeye群组
& 之前读过毕玄的《分布式Java应用》和周志明的《深入Java虚拟机》,对于复制算法和标记-压缩算法之间的区别一直没有弄懂。我们知道Java新生代采用的是复制算法;并行GC时老生代采用的是标记-压缩算法。但既然标记压缩算法也需要移动存活对象(在压缩时),并且只用一块内存,为什么Sun还要为新生代采用复制算法呢(复制算法的坏处就是需要多占用一块内存,而且同样有内存拷贝的开销)?换句话说,复制算法的优势在哪里?
& 对JVM的内部实现不清楚,所以这个问题可能很傻,还请各位大牛见谅了!
所谓的copying collector(或者叫scavenger)是空间换时间,而mark-compact则是时间换空间。
scavenger在工作的时候是不没有独立的“mark”与“copy”阶段的,而是合在一起做一个动作,就叫scavenge(或evacuate,或者就叫copy)。也就是说,每发现一个这次收集中尚未访问过的活对象就直接copy到新地方,同时设置forwarding pointer。
这样的工作方式就需要多一份空间。
mark-compact collector在工作的时候则需要分别的mark与compact阶段,mark阶段用来发现并标记所有活的对象,然后compact阶段才移动对象来达到compact的目的。如果compact方式是sliding compaction,则在mark之后就可以按顺序一个个对象“滑动”到空间的某一侧。因为已经先遍历了整个空间里的对象图,知道所有的活对象了,所以移动的时候就可以在同一个空间内而不需要多一份空间。
经典的做法叫做“LISP2” collector。可以去看看相关资料。
这样可以理解了么?空间和时间。
无论是scavenger还是mark-compact,一旦要并行化都会变复杂。要避免过多的锁竞争带来的性能瓶颈。所以很有可能会采用稍微浪费一点空间的“LAB”做法(local allocation buffer)。也可以用这个关键字搜些资料来读。
=================================================
blueswind8306 写道我们知道Java新生代采用的是复制算法;并行GC时老生代采用的是标记-压缩算法。
这里要注意:不是“Java”采用这些实现方式,而是一个具体的JVM实现,HotSpot VM,采用了这样的实现。其它的JVM实现并不一定是这样做的。
例如说Sun的另一个JVM,稍微早期一些的,Exact VM,它的分代式GC的young gen的默认实现就是典型的使用semi-space的copying collector,只分为两部分,而不像HotSpot VM那样分为3部分(1个eden和构成semi-space的2个survivor space)。如果我收集到的信息没错的话,IBM J9里的ParallelScavenger收集器也是用这种典型semi-space设计的(而HotSpot里对应的那个叫做ParallelScavenge,很像,对吧? )。
明白了,多谢RednaxelaFX的耐心点拨!解释的很清楚!当前位置:
请注意:本图片来自宁波江东红冠机电设备有限公司提供的压缩机标记机 压缩机打字机 压缩机打号机产品,图片仅供参考,压缩机标记机 压缩机打字机 压缩机打号机产品会因为批次的不同可能与本图片不一致,请以收到的实物为准。
相关商品推荐
提示:您在慧聪网上采购商品属于商业贸易行为。以上所展示的信息由卖家自行提供,内容的真实性、准确性和合法性由发布卖家负责,请意识到互联网交易中的风险是客观存在的。推荐使用,保障您的交易安全!
所在地:浙江省&&
联系人:沈华玮 & 先生
057 ******
136 ******
请供应商联系我
手机号不能为空
姓名不能为空
请供应商联系我
您对该公司的咨询信息已成功提交请注意接听供应商电话。
您采购的产品:
请输入采购产品
您的手机号码:
请输入手机号码
联系方式:010 ******(专属客服:聪聪)
手机号:136 ******
联系人:沈华玮&业务部 总经理
公司名称:宁波江东红冠机电设备有限公司
备注:点击关注按钮后才可自动收到卖家电话
请输入正确的手机号码
请输入验证码
*短信验证码:
免费获取验证码
为了安全,请输入验证码,我们将优先处理您的需求!
请输入验证码
按字母分类 :您当前的位置:&>&正文
PHP压缩html网页代码(清除空格,换行符,制表符,注释标记)
&&&&&&来源:腾讯网&&
PHP压缩html网页代码 (清除空格,换行符,制表符,注释标记)。 有个不错的方法就是压缩HTML,压缩html 其实就是:清除换行符,清除制表符,去掉注释标记 。它所起到的作用不可小视。 现提供PHP 压缩HTML函数。请大家不妨试试看,感觉还不错吧。 不废话了,直接上代码:
&?php /** * 压缩html : 清除换行符,清除制表符,去掉注释标记 * @param $string * @return 压缩后的$string * */ function compress_html($string) { $string = str_replace("\r\n", '', $string); //清除换行符 $string = str_replace("\n", '', $string); //清除换行符 $string = str_replace("\t", '', $string); //清除制表符 $pattern = array ( "/& *([^ ]*) *&/", //去掉注释标记 "/[\s]+/", "/&!--[^!]*--&/", "/\" /", "/ \"/", "'/\*[^*]*\*/'" ); $replace = array ( "&\\1&", " ", "", "\"", "\"", "" ); return preg_replace($pattern, $replace, $string); } ?& --博才网
下页更精彩:
点击排行版
微信查看最新信息微信扫一扫或用微信搜索微信号:hbrc-com
安卓手机客户端更省流量手机扫描下载或者直接
猜您还喜欢的文章
热点文章排行榜
• 版权所有 Copyright 2011 All rights reserved.

我要回帖

更多关于 守护明天2017 的文章

 

随机推荐