日期: 2022-09-20 15:20:27 浏览数:2

上往建站提供服务器空间服务商,百度快照排名,网站托管,百度推广运营,致力于设计外包服务与源代码定制开发,360推广,搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。
南通网站制作【南通网站优化】南通建网站、南通微信公众号运营、南通网页设计、南通微信小程序商城
南通,简称“通”,别称静海、崇州、崇川、紫琅,古称通州,江苏省地级市,长江三角洲中心区27城之一 [1] ,国务院批复确定的中国长三角北翼经济中心、现代化港口城市 [2] 。地处中国华东地区、江苏东南部,东抵黄海、南濒长江 [5] ,是扬子江城市群的重要组成部分、上海大都市圈北翼门户城市、中国首批对外开放的14个沿海城市之一 [6] ,集“黄金海岸”与“黄金水道”优势于一身,拥有长江岸线226千米,“据江海之会、扼南北之喉 [7] ”,被誉为“北上海”。截至2020年12月,南通市辖3个区、1个县、代管3个县级市,总面积8001平方千米。 [4] 2020年,南通市实现地区生产总值10036.3亿元。 [243]
南通是国家历史文化名城,自后周显德三年(956年)建城至今已有一千多年历史。在中国近代文化科教史上,南通创办第一所师范学校、第一座民间博物苑、第一所纺织学校、第一所刺绣学校、第一所戏剧学校、第一所中国人办的盲哑学校和第一所气象站等“七个第一”,被称为“中国近代第一城”。 [8]
南通是“精神文明南通现象”的发源地 [9-10] ,是中国、江苏省重大精神文明先进典型最多的地区之一 [9] ,连续五次被评为全国文明城市 [242] ,并先后入选国家智慧城市试点 [11] 、宽带中国示范城市 [12] 。
截至2014年,南通人口平均预期寿命达80.71岁,百岁寿星多达1031位。 [13] 2014年5月,南通被国际自然医学会、世界长寿乡认证委员会授予全球首个“世界长寿之都”。 [14-15] 2018年10月,获评首届健康中国年度标志城市。 [16] 2018年中国百强城市排行榜中,位列22位。 [17]
2出自参考文献 [3] 中的“1.INTRODUCTION”。
这类应用程序当前主要是采用增量 GC 或者并发 GC 来缩短最大暂停时间的。但是,缩短最大暂停时间很容易导致吞吐量 3 下降。还有,因为无法预测暂停时间,GC 可能会有 mutator 长时间停止的风险。
3吞吐量:单位时间内回收垃圾的量。如果 GC 的吞吐量下降,总的暂停时间就会变长。
于是 G1GC 诞生了,其目的就是高效地实现软实时性。Java 先前的 GC 算法都在一味地尝试缩短最大暂停时间,而 G1GC 则是让用户去设置期望暂停时间。用户按照自己的需求设置合适的 GC 暂停时间,在确保吞吐量比以往的 GC 更好的前提下,实现了软实时性。
另外,追求软实时性的服务端应用程序,大都运行在拥有巨大的堆 4 和多处理器的服务器设备之上。因此,内部的 GC 算法必须能够在短时间内以高吞吐量来处理巨大的堆,而且还要高效地发挥多处理器的优势。G1GC 的设计就很符合这些要求,它能够最大程度地利用服务器上多处理器的优势,而且在处理巨大的堆时,也不会降低 GC 的性能。
4堆:程序运行时用于创建对象的内存区域。
G1GC 中的堆结构和列车 GC5 中的堆结构非常相似。
5详情可参考“GC 书”算法篇中的 7.7 节。
堆的内部被划分为大小相等的区域,所有区域排列成一排。G1GC 以区域为单位进行 GC。用户可以随意设置区域大小,但是内部会将用户设置的值向上调整为 2 的指数幂(),并以该正数作为区域的大小(图 1.1)。

图 1.1 堆结构
如果正在分配对象的某个区域已经满了,GC 线程会寻找下一个空闲的区域来继续分配。空闲区域是通过链表进行管理的,因此查找的时间复杂度是固定的 。
下面我们简要地介绍一下 G1GC 的执行过程。G1GC 主要有下面两个功能。
① 并发标记(concurrent marking)
② 转移(evacuation)
①并发标记基本能和 mutator 并发执行,会针对区域内所有的存活对象 6 进行标记。
6存活对象:活着的对象,即有可能被程序使用的对象。
②转移负责释放堆中死亡对象所占的内存空间。
首先,从众多区域中选择一个进行 GC 操作。如果该区域中有存活对象,则将其复制到其他空闲区域中(图 1.2)。

图 1.2 堆的状态
白色区域是空闲区域,灰色区域是使用中的区域。左图表示的是在选中区域后开始将存活对象复制到空闲区域的操作;右图表示的是转移后堆的状态。为了方便展示,图中的区域以二维的方式排列,但是在内存中其实是如图 1.1 所示排列成一排的。
当选择的空闲区域也满了的时候,GC 线程会再次选择其他空闲区域来存放存活对象。对象复制完成之后,只剩下死亡对象 7 的区域会被重置为空闲区域以便复用。
7死亡对象:已死亡的对象,即不可能再被程序使用的对象。
转移其实也起到了压缩 8 的作用,因此 G1GC 中的区域不会发生碎片化 9。
8压缩:将存活对象挤到内存中同一侧的操作。因为压缩之后对象之间没有空隙,所以区域不会有碎片化的问题。
9碎片化:对象零散地存在于堆中的现象。
正如上一节中提到的那样,G1GC 的主要功能是并发标记和转移。其中并发标记由并发标记线程来执行。
并发标记的作用是在尽量不暂停 mutator 的情况下标记出存活对象。而且,还需要在并发标记结束之后记录下每个区域内存活对象的数量。这个信息在转移时会用到。
转移的作用是将待回收区域内的存活对象复制到其他的空闲区域,然后将待回收区域重置为空闲状态。这很像复制 GC 算法,只不过是以区域为单位进行的。
需要注意的是,并发标记和转移在处理上是相互独立的。并发标记的结果信息对于转移来说并不是必须的。因此,转移处理可能发生在并发标记开始之前,也可能发生在并发标记的过程中。

南通网站制作【南通网站优化】南通建网站、南通微信公众号运营、南通网页设计、南通微信小程序商城
上往建站提供搭建网站,域名注册,官网备案服务,网店详情页设计,企业网店,专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管,网页美工排版,致力于域名申请,竞价托管,软文推广,全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机,网站推广,百度竞价托管,网站建设,上网建站推广服务,网络公司有哪些等业务,专业团队服务,效果好。
服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)