适用对象

2024-12-11

适用对象(通用7篇)

适用对象 篇1

刑事诉讼中的取保候审是公安机关、人民检察院和人民法院对未被逮捕的犯罪嫌疑人、被告人, 责令其提出保证人或者交纳保证金, 并出具保证书, 以保证不逃避或妨碍侦查、起诉和审判, 并随传随到的一种强制措施。

根据刑事诉讼法第60、65、69、74、75条, 最高人民法院《解释》第66条, 最高人民检察院《规则》第37条, 公安部《规定》第63条等的规定, 取保候审适用于以下情形:

1. 可能判处管制、拘役或者独立适用附加刑的。

2. 可能判处徒刑以上刑罚, 采取取保候审不致发生社会危险性的。

3. 应当逮捕但患有严重疾病, 或者是正在怀孕、哺乳自己未满1周岁婴儿的妇女。

4. 对被拘留的犯罪嫌疑人、被告人, 需要逮捕而证据尚不符合逮捕条件的。

5. 提请批准逮捕后, 检察机关不批准逮捕, 需要复议、复核的。

6. 移送起诉后, 检察机关决定不起诉, 需要复议复核的。

7. 犯罪嫌疑人、被告人被羁押的案件, 不能在刑事诉

讼法规定的侦查、审查起诉、一审和二审期限内办结, 需要继续侦查、审查起诉或审判的。

8. 持有有效护照和其他有效出入境证件, 可能出境逃避侦查, 但不需要逮捕的。

对于取保候审的适用对象除了上述法律规定以外, 最高人民检察院《规则》和公安部《规定》还对不能适用取保候审的情形作了明确规定。最高人民检察院《规则》第38条规定:对于严重危害社会治安的犯罪嫌疑人, 以及其他犯罪性质恶劣、情节严重的犯罪嫌疑人不得取保候审。公安部《规定》第64条规定:对累犯、犯罪集团的主犯, 以自伤、自残办法逃避侦查的犯罪嫌疑人, 危害国家安全的犯罪、暴力犯罪, 以及其他严重犯罪的犯罪嫌疑人, 不得取保候审。●

适用对象 篇2

1.笨头笨脑:①形容人不聪明,反应迟钝。②形容式样蠢笨。

2.不省人事:①指人昏迷,失去知觉。②指不懂人情世故。

3.不翼而飞:①比喻东西突然不见了。②形容消息、言论等传布迅速。

4.唱空城计:①比喻用掩饰自己力量空虚的办法,骗过对方。②比喻某单位的人员全部或大部分不在。

5.超然物外:①超脱于尘世之外。②比喻置身事外。

6.垂涎欲滴:①形容非常贪馋想吃的样子。②比喻看到好的东西,十分羡慕,极想得到(含贬义)。

7.大公无私:①完全为人民群众利益着想,毫无自私自利之心。②处理公正,不偏袒任何一方。

8.道高一尺,魔高一丈:①比喻取得一定成就后遇到的障碍会更大。②比喻正义终将战胜邪恶。

9.得过且过:①只要勉强过得去就这样过下去,敷衍地过日子。②指对工作不负责任,敷衍了事。

10.得其所哉:①指得到适宜的处所。②指安排得当,称心满意。

11.灯红酒绿:①形容寻欢作乐的腐化生活。②形容都市娱乐场所夜晚的繁华景象。

12.短小精悍:①形容人身材矮小而精明强干。②形容文章、戏剧等篇幅不长而有力。

13.对牛弹琴:①比喻对不懂道理的人讲道理,对外行人说内行话。②讥笑说话的人不看对象。

14.翻天覆地:①形容变化巨大而彻底。②形容闹得很凶。

15.风风火火:①形容急急忙忙、冒冒失失的样子。②形容很活跃、有劲头的样子。

16.风起云涌:①大风起来,乌云涌现。②比喻事物迅速发展。

17.风言风语:①没有根据的话;恶意中伤的话。②私下里议论或暗中散布某种传闻。

18.扶正祛邪:①扶持正气,除去邪恶。②中医指扶持正气,除去致病因素及其病理损害。

19.改换门庭:①改变门第出身,提高社会地位。②投靠新的主人或势力,以图维持、发展。

20.感同身受:①指感激的心情如同亲身受到对方的恩惠一样(多用来代替别人表示谢意)。②指虽未亲身经历,但感受就同亲身经历过一样。

21.高头大马:①体形高大的马。②比喻人身材高大。

22.拐弯抹角:①沿着弯弯曲曲的路走。②比喻说话、写文章不直截了当。

23.光风霁月:①比喻开阔的胸襟和坦白的心地。②比喻太平清明的政治局面。

24.规行矩步:①比喻举动合乎规矩,毫不苟且。②比喻墨守成规,不知变通。

25.呼风唤雨:①比喻能够支配自然或作用某种局面。②比喻进行煽动性的活动。

26.花红柳绿:①形容春天花木繁茂艳丽的景色。②形容颜色鲜艳多彩。

27.花花世界:①指繁华地区或灯红酒绿、寻欢作乐的场所。②指人世间。

28.花言巧语:①指虚假而动听的话。②说虚假而动听的话。

29.昏天黑地:①形容天色昏暗。②形容神志不清。③形容生活荒唐颓废。④形容打斗或吵闹得厉害。⑤形容社会黑暗或秩序混乱。

30.鸡零狗碎:①比喻事物零零碎碎,不成片段。②比喻无关紧要的琐碎事物。

31.间不容发:①中间容不下一根头发,指事物之间距离极小。②比喻与灾祸相距极近,情势极其危急。

32.惊涛骇浪:①凶猛而使人害怕的波涛。②比喻险恶的环境或遭遇。

33.惊天动地:①形容声音特别响亮。②形容声势浩大或事业伟大。

34.精卫填海:①比喻有深仇大恨,立志必报。②比喻不畏艰难,努力奋斗。

35.磕磕绊绊:①形容路不好走或腿脚有毛病而行走不灵便。②形容事情遇到困难、挫折,不称心,不顺利。

36.可丁可卯:①就着某个数量不多不少或就着某个范围不大不小。②指严格遵守制度,不通融。

37.履险如夷:①比喻处于险境而毫不畏惧。②比喻经历危险,但很平安。

38.马马虎虎:①马虎,随随便便。②勉强,凑合。

39.买空卖空:①一种商业投机行为。②比喻招摇撞骗,搞投机活动。

40.没头没脑:①(说话、做事)头绪不清或缺乏条理。②没有来由。③指不顾一切。

41.没心没肺:①形容不动脑筋,没有心计。②指没有良心。

42.拿手好戏:①指某演员特别擅长的戏。②比喻某人特别擅长的本领。

43.难分难解:①双方相持不下(多指竞争或争吵、打斗),难以分出胜负。②形容双方关系异常亲密,难于分离。

44.披肝沥胆:①比喻开诚相见。②比喻极尽忠诚。

45.披荆斩棘:①比喻扫除前进中的困难和障碍。②比喻克服创业中的种种困难。

46.平地一声雷:①比喻名声、地位突然升高。②比喻突然发生一件可喜的大事。

47.骑马找马:①比喻东西就在自己这里,还到处去找。②比喻一面占着现在的位置,一面另找更称心的工作。

48.千锤百炼:①比喻多次的斗争和考验。②比喻对诗文等做多次的精细修改。

49.清规戒律:①僧尼、道士必须遵守的规则和戒律。②泛指规章制度,多指束缚人的死板的规章制度。

50.穷形尽相:①指描写刻画十分细致生动。②指丑态毕露。

51.秋后算账:①比喻等事情发展到最后阶段再判断谁是谁非。②比喻事后等待时机进行报复。

52.如蚁附膻:①比喻许多臭味相投的人追求某种恶劣的事物。②比喻依附有钱有势的人。

53.乳臭未干:①形容人幼稚不懂事理。(含讥讽意)②表示对年轻人的轻蔑或不信任。

54.散兵游勇:①指失去统属的士兵。②比喻没有加入到某项集体活动中而独自行动的人。

55.甚嚣尘上:①形容对传闻之事议论纷纷。②指某种言论十分嚣张。(含贬义)

56.生拉硬扯:①形容用力拉扯,强使人听从自己。②比喻牵强附会。

57.十年树木,百年树人:①比喻培养人才是长久之计。②形容培养人才很不容易。

58.石破天惊:①形容箜篌的声音忽而高亢,忽而低沉,出人意外,有不可名状的奇境。②比喻文章议论新奇惊人。

59.手忙脚乱:①形容做事慌张而没有条理。②形容惊慌失措。

60.手眼通天:①形容手段高超,善于钻营。②比喻跟有权势的高层人物交往。

61.甩手掌柜:①指光指挥别人,自己什么事也不干的人。②指只挂名,不负责,也不做事的主管人员。

62.顺理成章:①形容写文章或做事,顺着条理就能做好。②比喻某种情况合乎情理,自然产生某种结果。

63.说一不二:①形容说话算数。②形容专横,独断独行。

64.四平八稳:①形容说话、做事、写文章稳当。②指做事只求不出差错,缺乏创新精神。

65.酸甜苦辣:①指各种味道。②比喻幸福、痛苦等种种遭遇。

66.缩手缩脚:①因寒冷而四肢不能舒展的样子。②形容做事顾虑多,不大胆。

67.缩头缩脑:①形容畏缩。②形容胆小,不敢出头负责任。

68.堂而皇之:①形容公开或不加掩饰。②形容体面或气派大。

69.堂堂正正:①形容光明正大。②形容身材威武,仪表出众。

70.体无完肤:①形容浑身受伤。②比喻论点被全部驳倒或文章被删改得很多。

71.天翻地覆:①形容变化极大。②形容闹得很凶。

72.天高地厚:①形容恩情深厚。②指事物的复杂、深奥程度。(多用作“不知”的宾语)

73.天昏地暗:①形容乌云密布或刮大风时飞沙漫天的景象。②比喻政治腐败或社会混乱。③形容程度深、厉害。

74.天南地北:①形容距离遥远,指相距遥远的不同地方。②形容说话漫无边际。

75.天香国色:①指赞美牡丹的话。②用来称美女。

76、想入非非 : ①原指一般人认识所达不到的境界。②现比喻脱离实际,幻想不能实现的事情。含贬义。

77、高山流水:①比喻知己或知音。②也比喻乐曲高妙。

典故:《列子·汤问》:“伯牙鼓琴,志在登高山,钟子期曰:‘善哉,峨峨兮若泰山。’志在流水,曰:‘善哉,洋洋兮若江河。’”

78、稳扎稳打:①稳当而有把握地打击敌人。②比喻有把握、有步骤地工作。

79、瞻前顾后 :①形容做事之前考虑周密慎重。②也形容顾虑太多,犹豫不决。

80、力透纸背 :①形容书法刚劲有力,笔锋简直要透到纸张背面。②也形容诗文立意深刻,词语精练。

81、洋洋洒洒:①形容文章或谈话丰富明快,连续不断。②形容规模或气势盛大。

82、悖入悖出:①用不正当的手段得来的财物,也会被别人用不正当的手段拿走(中性);②胡乱弄来的钱又胡乱花掉(贬义)。出自《礼记·大学》“货悖而入者,亦悖而出”。

83、不三不四:①原指不象样子。②今指不正派。今常形容人品行不好。含贬义。反义词:堂堂正正。

84、淋漓尽致:①形容文章表达得非常充分、透彻。②形容说话非常痛快。含褒义。

85、指手画脚:①指说话时做出各种动作。②形容说话时放肆或得意忘形。含贬义。

86、光怪陆离:①形容奇形怪状。②形容五颜六色。

87、左右逢源:①比喻做事得心应手。(褒义)②比喻处事圆滑。(贬义)

88、评头论足:①指无聊的人随便谈论妇女的容貌。②也比喻在小节上多方挑剔。

89、奇文共赏:①新奇的好文章共同欣赏。(陶潜《移居》诗:“奇文共欣赏,疑义相与析”)②现多指把荒谬、错误的文章发表出来供大家识别和批判。

90、感同身受:感,感激;身,亲身。①心里很感激,就象自己亲身领受到一样。②现在多比喻虽未亲身经历,却如同亲身经历过一般。(有时用于在给别人添麻烦时表示感激)

91、乘风破浪:《宋书·宗悫(què)传》:“愿乘长风破万里浪。”船只乘着风势破浪前进。①现比喻不畏艰险勇往直前(多指人)。②也形容事业迅猛地向前发展(多指形势、局面)。

92、粉墨登场:①演员傅粉施墨,化装登台表演。中性词。②今多喻登上政治舞台。贬义词,含讥讽意。

93、肝脑涂地:涂地:涂抹在地上。①形容惨死。②也形容竭尽忠诚,任何牺牲都在所不惜。出自《史记· 刘敬书孙通列传》:“使天下之民肝脑涂地。”

政府会计核算对象与适用范围探讨 篇3

1. 政府会计核算对象的内涵。

政府会计核算对象就是政府会计核算的具体内容, 或者说是政府会计报告信息的主体内容。从我国实际情况看, 政府会计核算对象就是政府会计核算和反映的各种政府会计要素的具体内容。我国目前的预算会计实际上以反映预算资金收支为主, 并未全面反映政府在行使职能过程中对公共资源的使用、支配情况。

2. 国外政府会计核算对象归纳。国外政府会计核算对象主要可以分为两类:

一类是以英国、美国为主要代表的国家, 这些国家对政府会计核算对象的界定比较广, 基本上把与政府有关的各种资源都纳入进去, 即所谓的资源会计。也正是由于其资源会计的特点, 因此很大程度上采用了权责发生制会计基础。从具体内容来看, 美国政府会计的基金模式具有很好的借鉴意义。美国政府会计将各种基金作为相对独立的会计主体, 分别核算不同用途的财务资源的来源和使用情况。作为独立会计主体的各项基金, 都有各自的资产、负债、收入和支出, 以及相应的基金余额或基金权益。这样, 各基金就可以有属于自己的一套完整的财务报表。基金主体会计可以清晰地描述有关组织和单位对不同法定限制资金的使用情况以及与各项法定限制资金相配套的其他资源的取得和使用状况, 增强政府会计的透明度, 为立法机关和公民实施监督提供必要的前提条件。

另一类是以德国、法国为主要代表的国家, 这些国家的政府会计核算对象包括了全部的政府收支和部分以财务会计核算为基础的资源。其政府会计报告的编制以修正的收付实现制或完全的收付实现制为基础, 而不像英、美等国那样采用完全的权责发生制或修正的权责发生制。

3. 我国现行预算会计核算对象及其存在的问题。

我国当前的财政总预算会计的核算对象是政府预算、部门预算执行和预算周转金等财政性资金收支活动。资产、负债只包括货币性资产和结算性往来款项, 缺乏对政府投资性资产、储备性资产的核算, 债权债务的核算也不完整, 难以反映政府的真实财务状况和财政活动的全貌, 不能为部门预算编制提供完整的会计信息。

1998年进行预算会计制度改革后, 财政部针对企业实际情况陆续出台了一系列相关核算制度和专项业务的核算办法, 但就现行的《财政总预算会计制度》而言, 存在的问题主要有: (1) 预算外资金未包括在财政总预算会计核算范围之内, 编制部门预算以后, 预算外资金应进入政府会计系统; (2) 多、双边贷款的借入、转贷、收回、使用等未纳入财政总预算会计, 但这部分内容属于政府预算范围, 应在政府会计中反映; (3) 政府预算和部门预算都属于预算, 但现行的财政总预算会计制度规定的会计报表未考虑部门预算中经营性收支及其形成的资产、负债等情况; (4) 由于相关的社会保障基金核算不统一, 财政部门管理的社会保障基金的总体情况无法得到全面反映。

从部门预算会计角度看, 现行的行政单位会计制度和事业单位会计制度存在的主要问题有: (1) 基本建设拨款与行政费和事业费收支分别编报报表, 无法通过预算报表完整地反映全部预算执行和资金使用情况; (2) 行政事业单位会计对其拥有的固定资产不计提折旧, 无法反映固定资产的净值, 导致固定资产的实际价值与账面价值严重背离。

从财务会计角度看, 现行的预算会计存在的主要问题有: (1) 政府债务的发生和偿还未作为预算收入和预算支出反映, 导致预算收入和预算支出信息与预算口径不一致, 无法准确反映预算执行情况; (2) 政府债权的发生和收回未作为政府资产加以反映, 导致无法全面反映政府资产状况; (3) 政府投资形成的国有资本金以及缴存国际货币基金组织的股本未作为政府产权进行反映, 不能反映政府资产对未来预算收支和服务能力的影响; (4) 政府承担的现行债务无法准确反映, 如拖欠的工资、应退未退的税款等。

可以说, 现行的政府会计不仅没有全面反映政府财务状况及其对未来预算执行情况的影响, 而且对当期的政府预算、部门预算的收支活动的反映也不全面。

4. 对界定政府会计核算对象的几点建议。

现阶段我国政府会计应涵盖的内容包括三个方面:财政总预算会计制度涉及的内容;行政单位会计制度涉及的内容;未实行企业化管理以及在可预见的未来不实行企业化管理的国有事业单位的核算内容。现阶段政府会计核算应注意以下几个方面的内容:

(1) 全口径核算政府预算、部门预算和预算单位的全部财务收支活动。政府部门必须适应预算编制和预算执行情况分析的需要, 根据政府预算、部门预算的要求进行会计核算和报告, 以准确反映预算执行情况。

(2) 财政支出形成的资本金, 从预算会计角度看, 它是当年的预算支出, 但这种支出不是纯消费性支出, 它实际上是一种有利于提高政府服务潜能和进行宏观管理的资源, 因此需要同时以资产进行表达。

(3) 将政府债务的发生和偿还以债务方式进行核算和报告的同时, 对相应的预算收入和预算支出进行核算和报告。将政府债权的发生和收回以预算支出和预算收入的形式进行核算的同时, 对相应的债权进行反映和报告。

(4) 预算单位的一切活动都纳入预算。政府会计不仅要反映所有财政性资金 (包括基本建设拨款等) 的收支及其相关资产负债的情况, 同时还要将已经纳入预算但并不属于财政性资金的预算收入、预算支出以及相关的资产、负债和净资产一并进行核算和报告。

(5) 尽管国家文化资产、土地资源以及矿藏等属于政府重要资源, 但暂时不适合对其进行核算和报告。因为在现有会计计量技术条件下, 这些资产大多难以用货币指标进行衡量。

二、政府会计适用范围

1. 国外政府会计的适用范围。国外的政府会计准则体系都明确了其适用范围, 但各有特点, 不尽一致。

美国联邦政府会计准则规定其适用范围为所有联邦实体及合并实体。这些实体不仅包括政府整体、政府的组成单位 (如一个机构或部门) , 而且包括政府举办的学校、医院等公立非营利组织和交通、供热、供水等公共基础设施领域中政府拥有的企业以及其他可能的报告单位, 但不包括非政府举办的学校、医院等私立非营利组织。

国际会计师联合会 (IFAC) 的公共部门委员会 (PSC) 制定的国际公共部门会计准则规定其适用范围包括:中央政府、地区性 (如州、省、管区) 政府、地方 (如市、镇) 政府和它们的组成机构 (如分支机构、代理处、董事会和委员会) , 但不适用于政府企业。

尽管政府会计准则适用范围内的公共部门实体的业务领域和隶属关系存在差别, 但从公共服务角度看, 政府会计的适用范围至少包括两部分:一是政府单位及所有的公立非营利组织;二是政府企业。西方国家判断一个机构、单位和组织是否应纳入政府会计适用范围, 其标准主要有三个: (1) 是否使用政府财政资源; (2) 政府是否直接支配其运营; (3) 政府是否对其运营结果直接负有财务责任 (张琦, 2007) 。只要同时满足这三个标准就应纳入政府会计适用范围, 否则不纳入。

2. 国内学者关于政府会计适用范围的主要观点。

目前国内学者对政府会计适用范围争议的焦点主要集中在以下两个方面: (1) 事业单位是否纳入政府会计适用范围; (2) 国有企业是否纳入政府会计适用范围。

对于事业单位是否应包含在政府会计的适用范围内, 主要有三种主张: (1) 政府会计适用范围不包括事业单位, 而将事业单位全部纳入非营利组织会计适用范围; (2) 按职能、公立私立、拨款比例、经费、编制等重新界定事业单位, 重新划分哪些应纳入政府会计适用范围, 哪些应纳入非营利组织会计适用范围; (3) 公立的事业单位纳入政府会计适用范围, 私立的事业单位纳入非营利组织会计适用范围。

关于国有企业是否应包含在政府会计的适用范围内也有三种主张: (1) 将国有企业全部纳入政府会计适用范围; (2) 国有企业不属于政府会计适用范围; (3) 只将国有资本金纳入政府会计适用范围。笔者认为, 我国国有企业使用的国有资产尽管从其性质上讲也是政府的财政资源, 但是国有企业改革后已经成为独立经营、自负盈亏的法人主体, 政府已不再直接干预企业的经营活动, 不对其运营结果负有直接财务责任, 因此不宜纳入政府会计体系。

3. 事业单位是否应纳入政府会计适用范围。

对于事业单位是否应纳入政府会计适用范围, 我国会计理论界意见分歧很大。有的主张将事业单位纳入政府会计适用范围, 有的则不主张将事业单位纳入政府会计适用范围。笔者认为, 事业单位应纳入政府会计适用范围, 理由是:

(1) 无论事业单位是否有非财政资金收支, 也不管其在全部收支中占多大比重, 只要它没有走向市场, 没有实行企业化管理, 就会或多或少地使用政府财政资源, 就会由政府支配并由政府对其运营过程和结果全面负责。统计资料显示, 事业单位的收入来源很大程度上依赖于政府财政资金或政府许可的服务垄断收费。如果不把这些事业单位纳入政府会计适用范围, 这些收入和支出就无法准确地反映在政府预算收入和支出中。

(2) 政府的职能主要是进行行政管理、发展社会事业和进行宏观管理与调控。发展社会事业的这一职能基本由事业单位承担了, 开展社会事业活动所需经费和资金也主要来自于政府预算。如果政府会计不包括这些预算支出, 那么政府预算支出中用于社会事业发展的支出就会被遗漏。

(3) 有些事业单位根据政府授权颁发各种许可证, 这实际上就是政府行政职能在事业单位的延伸。也就是说, 这些事业单位既有发展社会事业的职能, 又具有一定的政府行政职能。

但需要指出的是, 已经实行以及将要实行企业化管理的事业单位其各项活动实际上已实行市场化运作, 这类事业单位不适用政府会计。

摘要:本文对我国政府会计核算对象与适用范围进行了探析, 指出了我国现行预算会计核算体系中存在的问题, 并提出了一些个人看法。

关键词:核算对象,适用范围,政府会计

参考文献

[1].北京市预算会计研究会.关于建立中国政府会计准则的研究报告.会计研究, 2006;3

[2].陈小悦, 陈璇.政府会计目标及其相关问题的理论探讨.会计研究, 2005;11

适用对象 篇4

一、工商管理培训的项目背景及宗旨:

随着中国市场经济逐渐成熟和经济全球化时代的来临,中国企业面临着全新的机遇和前所未有的挑战。企业高层决策者(企业家)如何认清形势,积极吸纳和应用先进的管理思想和方法,加快自身知识结构的更新与完善,同时激发创新思维,使自己及企业在未来的竞争中抓住机遇,快速提升“规范化”、“国际化”、“职业化”的水平是当今众多企业家面临的当务之急。

张洪泉—著名国学专家、原北京大学国学训练营专家组主任、现为北京天下伐谋管理咨询公司高级合伙人、首席国学专家。

张洪泉教授从小受家庭传统文化的熏陶,自小研读四书五经,是国内较早进行研究 “国学教育及传统文化教育”的先行者。

张洪泉教授从八十年代开始就在中国科学院和首都师范大学学习心理学,后来又师从于欧美多位心理学大师,进一步深造心理学,同时学习研究国学和哲学。近年来,张洪泉教授运用心理学原理,一边作学术研究,把儒、释、道传统文化和西方心理学有机结合,为各大学和全国各地的企事业单位、学校进行国学与传统文化教育。

张洪泉教授在弘扬中华传统文化的同时不停的从中汲取营养,身体力行、以身作则,在全国各地举办大型义务讲座并推广和谐教育,他把心理学、哲学和国学三者有机的结合融会贯通,从而形成自成风格的创新教育新天地,受到国内外众多专家学者的高度赞扬和学员的一致好评,是目前国内一流的“国学与传统文化教育”教育培训专家。

张洪泉教授经过多年的学习积累和研究实践,著书立作,已经出版的作品有:《孝道-做人的必修课》、《和谐改变命运》、《心态的力量》等。

在国内已经有:大众汽车、李宁、海尔、蒙牛乳业以及北京大学、清华大学、武汉大学、中央党校、中国人民大学等超过500家国内知名企业及国内18所一流著名院校都曾邀请张老师进行了形式多样的授课,受到了各界的普遍认同。为提高现代企业高级管理人员的经营、决策和综合管理能力,开阔视野,更新理念,一般清华北大等内部管理学校会结合长期培训经验,从企业和企业家面临的实际问题和需求出发,推出富有针对性的房地产总裁、经理人领导力提升、国内工商管理培训等类型,旨在为公司高层管理者提供一个与学术界、企业界、政府、商界高效沟通、长期交流的平台,帮助企业迅速有效达成目标。

二、工商管理培训适合对象:

1、公司董事长、总裁、总经理、副总、总监、公司战略制定的职能部门经理;

2、其他有志于从事企业管理的各类企事业单位的人士;

3、大型企事业单位处级以上干部;

适用对象 篇5

随着《刑法修正案 (八) 》的颁布施行, 死刑限制适用的对象由原来的未成年人和怀孕的妇女两类行为人不适用死刑变更为三种, 即在包括前两种行为人之外增加了对七十五周岁以上的老人不适用死刑。

(1) 审判时年满七十五周岁的老人不适用死刑的规定

我国2011年通过的《刑法修正案 (八) 》第三款对刑法条文49条做了修改, 即在原先条文的基础上增加了老年人不适用死刑的规定。但是随着该修正案的出台, 学界也有关于该法条的质疑, 认为对审判时已满七十五周岁的老人不适应死刑的规定违反了刑法的公平原则, 因而该修正案的规定是不公平的。也有学者直接指出修正案八对审判时七十五周岁以上的老人不适用死刑的规定的出发点只能从我国限制死刑规模的这一形式理由中来寻找根据, 轻刑化的趋势绝不是废除死刑的充分理由, 该论者同时还指出:"只要有严重侵害生命法益的犯罪行为存在, 死刑的存在就有社会的基础, 绝不能只对犯罪分子讲人道而不对被害人讲人道。"对此学者的轻刑化绝不是废除死刑的充分理由本人表示认同, 但仅以这一理由而否认对审判时已满七十五周岁老人不适用死刑规定的合理性是有失偏颇的。就此规定的合理性根据下文会仔细论述。

(2) 未成年人不适用死刑的规定

我国刑法条文有对未成年犯罪人不适用死刑的规定。之所以对未成年人不适用死刑是因为未成年人的生理、心理发育都不够成熟, 还不能称之为完全的"自由人"。无犯罪则无刑罚, 是一句法律名言, 但是对未成年人的刑罚的适用不能依据绝对的报应主义而适用严酷的生命刑, 因为在对未成年人适用刑罚时要充分考虑对未成年行为人的教育和改造, 刑罚的目的不仅在于对犯罪人的惩罚, 更在于对犯罪人的特殊预防即教育。著名的刑法学家李斯特在对犯罪人进行分类时将犯罪人分为机会犯、改善可能的人与改善不能的人, 并主张对改善可能的人要教育。未成年犯罪人就是典型的改善可能的人, 因其生理、心理发育不成熟, 因而具有更强的可教育性。

(3) 怀孕的妇女不适用死刑的规定

"审判的时候怀孕的妇女不适用死刑"这一条文被明确的规定在我国刑法第49条之中, 此规定的刑法保护的意义在于刑不及无辜的刑法学思想, 而且关于怀孕的妇女不适用死刑的规定已作为一条国际原则规定于1984年5月25日决议批准的《关于保护面对死刑的人的权利的保障措施》的条文之中, 即"对孕妇或新生儿的母亲不得执行死刑"。

2我国死刑适用对象限制完善的立法建议

(一) 增加"又聋又哑的人、盲人"为限制适用死刑的对象

我国刑法条文有对此类行为人从宽处罚的规定, 即刑法第19条。通过对该条文的分析可知, 在对其从宽处罚的条文之前适用的是法官可以自由裁量的"可以"一词, "可以"也就是可以从轻, 也可以不从轻, 其在审判时的把自由裁量权赋予了法官。而且"可以"在适用中往往是不必须, 所以在对又聋又哑或者盲人犯罪时并不是必须的从轻、减轻或者免除处罚, 这样就使这些有天生生理缺陷的人的权利得不到有效的保障。

又聋又哑的人或者盲人因其属于天生有生理缺陷的人, 故应该同未成年人一样不属于法律上的完全"自由人", 应属于限制民事行为能力人, 所以在刑罚适用中, 应充分考虑其这一生理特征, 在刑罚总论中也应当将其纳入限制适用死刑的对象范围。其一, 刑法的人道主义精神要求刑罚要宽和;其二, 刑法的公正价值要求在适用刑罚是考虑犯罪行为的主观特征、犯罪行为的客观特征与犯罪人的个人情况, 就聋哑人与盲人来讲, 其相对于一般人的生理缺陷是显而易见的;其三刑法的谦抑主义要求刑罚 (尤其是死刑) 的严格限制适用。所以把又聋又哑的人和盲人纳入死刑限制适用的对象是合乎刑法的基本价值的。

(二) 增加"尚未完全丧失辨认能力的精神病人"为限制适用死刑的对象

根据丧失辨认能力的程度可以把精神病人分为完全丧失辨认能力的精神病人、间歇性精神病人与尚未完全丧失辨认能力的精神病人。根据我国法律和一系列司法解释的规定, 我们知道我国刑法对精神病人所实施的犯罪行为是否应当负刑事责任是以行为时的精神状态为标准而作的判断, 完全无辨认能力的不负刑事责任, 犯罪时精神正常的应当负刑事责任, 尚未完全丧失辨认能力的应当负刑事责任但有从轻处罚的规定。

1984年通过的《关于保护面对死刑的人的权利的保障措施》明确规定了"精神病患者不得适用死刑。"所以, 把"尚未完全丧失辨认能力的精神病人"纳入限制适用死刑的对象既是对限制行为能力人基本权利的保障也体现了刑法的公平价值与刑法的谦抑主义, 同时也与国际立法的趋势相一致。

(三) 改"七十五周岁"为"六十五周岁"

《刑法修正案 (八) 》把"审判时年满七十五周岁以上的老人不适用死刑"这一规定写入了刑法, 即是对老年人基本权利的保障、又与刑法的谦抑主义精神相一致, 同时也迎合了国际法对老年人限制死刑适用的趋势。但是本人认为七十五周岁的规定有点过高。七十五周岁是我国目前的人均平均寿命, 把这一人均寿命作为刑法上不适用死刑的标准予以界定不能实质的起到对老年人权益的保护。我们知道, 国际上通行的对老年人年龄的界定是六十五周岁, 因为整体的六十五周岁以上的老人的行动能力、智力等各方面都处于退化的趋势, 所以才需要对老年犯罪人的权益予以保护。这样做也是顺应国际立法的趋势, 最大限度的体现刑法的人道主义与刑法的谦抑主义。

摘要:我国目前限制适用死刑的对象包括未成年人、怀孕的妇女和七十五周岁以上的老人, 其死刑的限制适用体现了人道主义的精神, 与刑法的公正原则相一致并符合刑法的谦抑主义。同样的将聋哑人、盲人和六十五周岁以上的老人也需要纳入限制使用死刑的对象也符合上述刑法的价值要求, 同时也与国际立法趋势相一致。

关键词:死刑适用,未成年人,谦抑主义

参考文献

[1]《中华人民共和国刑法修正案 (八) 》.

[2]董玉庭.七十五周岁以上不适用死刑值得商榷[N].中国社会科学报.221.

[3]院晓苗.未成年人的刑法保护理念与刑法价值[J].河北法学.2005 (08) :155-157+160.

[4]《法学辞源》第二卷, 42.

[5]《法学辞源》第二卷, 47.

适用对象 篇6

一、伏安法测电阻实验误差的理解

图1、图2是伏安法测电阻的两种电路图. 图1是安培表内接法, 其测量值为R测= RA+ R > R, 但为什么不是安培表、伏特表、电阻三者的混联值?为什么不是电阻的数值?图2是安培表外接法, 其测量值为, 为什么不是安培表、伏特表、电阻三者的混联值?为什么不是电阻的数值?

下面我们利用研究对象的统一性来进行理解.

对于图1电路, 电压表测量值可以认为是三种研究对象的: 一是测量了自身电压, 二是测量安培表和电阻的串联电压, 三是测量了安培表、伏特表、电阻三者的混联总电压; 电流表测量值也可以认为是三种研究对象的: 一是测量了自身电流, 二是测量了电阻的电流, 三是测量安培表和电阻的串联电流. 当把安培表和电阻看做一个研究对象时, 伏特表测量了它们的电压, 安培表测量了它们的电流, 根据R =U/I可得图1电路测量了它们的串联电阻. 当选择其他研究对象时U、I、R三者不统一. 这样我们就透彻的理解了图1的测量值为什么是R测= RA+ R了.

对于图2电路, 电压表测量值可以认为是三种研究对象的: 一是测量了自身电压, 二是测量了电阻的电压, 三是测量伏特表和电阻的并联电压; 电流表测量值也可以认为是三种研究对象的: 一是测量了自身电流, 二是测量了伏特表和电阻的并联电流, 三是测量安培表、伏特表、电阻三者的混联总电流. 当把伏特表和电阻看做一个研究对象时, 伏特表测量了它们的电压, 安培表测量了它们的电流, 根据R =U/I可得图2电路测量了它们的并联电阻. 当选择其他研究对象时U、I、R三者不统一.这样我们就又理解了图2的测量值为什么是了.

例1如图3、图4所示电路, 它们分别测量了谁的电阻?

分析: 图3当选伏特表为研究对象时, 可认为伏特表测量了

伏特表的电压, 安培表测量了伏特表的电流, 根据R =U/I可得图3电路测量了伏特表的电阻. 图4当选安培表为研究对象时, 可认为伏特表测量了安培表的电压, 安培表测量了安培表的电流, 根据R =U/I可得图4电路测量了安培表的电阻.

答案: 图3电路测量了伏特表的电阻, 图4电路测量了安培表的电阻.

二、电功和焦耳定律适用条件的理解

我们知道电功的计算公式W = UIt和焦耳定律 ( 电热) 公式Q = I2Rt是有条件的, 当电路为纯电阻电路时W = Q = UIt = I2Rt =U2 t/R. 当电路为非纯电阻电路时电功只能用W = UIt来计算, 电热只能用Q = I2 Rt来计算, 公式W = (U2 /R) t电功和电热都不能计算.

下面我们利用研究对象的统一性来进行理解.

当电路为纯电阻电路时, U、I、R三者对应同一个研究对象,

电流做功全部用来产热, 即: W = Q = UIt = I2Rt =U2 t/R.

当电路为非纯电阻电路时, 比如图5所示电动机电路, 可等效为图6所示的纯电动机和纯电阻的串联. 当选整体时U、I是对应的研究对象, 所以W = UIt计算出的就是整个电动机消耗的电能; 当选内阻r时I、r是对应的研究对象, 所以W = I2rt计算出的就是内阻上消耗的电能, 即产生的热量Q = I2rt; 而W = U2 t/r所对应的研究对象根本不是同一个物体, 所以毫无意义, 这时可以用W =U2 2 t/r 计算热量, 但往往U2不容易求得.

例2如图7所示, 电阻R1= 20Ω, 电动机的绕组R2= 10Ω, 当电键S断开时, 电流表的示数是0. 5 A, 当电键S闭合后, 电动机转动起来, 电路两端的电压不变, 电流表的示数I和电路消耗的电功率P应是 ()

( A) I = 1. 5 A ( B) I < 1. 5 A

( C) p = 1. 5 W ( D) p < 15 W

分析: 当电键S断开时, 电流表的示数是0. 5A, 根据U = IR得U = 10V. 当电键S闭合后, 电动机转动起来, 此时电动机两端的电压U = 10 V, 由于电动机为非纯电阻电路, 不能运用欧姆定律求解电动机的电流, 根据如图6等效电路, 这时加在电动机内阻上的电压小于10 V, 所以电流小于1 A, 所以安培表示数I < 1. 5 A, 根据P = UI得p < 15 W.

适用对象 篇7

近十年来,随着硬件性能的不断提高和人们对跨平台应用的日益关注,像Java和C#这样基于虚拟机的程序设计语言在企业应用的开发中逐渐占据了主流地位。相应的,垃圾收集技术也随着这些语言的流行而渐渐为人们所熟悉。在各个领域、各种语言内的大量实践表明,垃圾收集是一种具有巨大意义的技术,它的价值并不仅仅在于减轻程序员的负担,更重要的是,垃圾收集机制保证了程序在执行过程中不会出现悬挂引用。这一方面大大地提高了程序运行时的安全性和可靠性,另一方面,由于存在这个安全性保证,对于程序员来说,在堆上创建和使用有着复杂的互相引用关系的对象不再是一件过于严苛的任务,许多新的程序设计技法也就能够发展起来。

回顾这几年在程序设计和软件工程领域所发生的变化,我们可以发现,自Java这些基于虚拟机、支持垃圾收集的程序设计语言大行其道以来,越来越多新的提高生产力的技术不断涌现,面向对象技术的研究重点也从静态的类的继承逐渐转移到更加动态、更加松耦合的对象之间的组合[3]。从某种意义上讲,这些进步都在很大程度上得益于垃圾收集技术的引入。

在这样一个背景之下,针对那些缺乏原生性垃圾收集机制支持的面向对象程序设计语言(例如C++语言),如何为它们提供一种垃圾收集机制这一研究课题,吸引了许多研究者的注意。一般来说,我们称这些语言设计的垃圾收集机制为保守式垃圾收集机制。目前,已经存在许多这方面的研究成果,特别是Boehm-Demers-Weiser保守式收集器[2],已经在许多领域得到了相当广泛的应用。但是经过仔细分析之后,我们发现这些解决方案仍然存在两大主要问题:

(1) 在缺乏运行时环境有效支持的情况下,指针定位问题尚未妥善解决。各种现存的解决方案或是严重影响用户程序运行效率,或是指针定位准确性不高,导致内存泄漏的出现[1]。

(2) 各种现存保守式垃圾收集器普遍采用的标记-清扫算法效率不高,其清扫阶段的运行时间正比于整个堆的大小。目前虽然也存在一些改进方案,但往往要在其他方面(例如分配器的效率)作出一定的牺牲[1]。

针对这些问题,我们充分利用面向对象语言的特性,设计了一种新的保守式垃圾收集机制。我们通过使用带航标的指针对象,在不给用户程序性能带来太大影响的情况下,更准确而高效地定位用户程序所使用的指针。同时,结合一个高效的两级分配器,我们改进了传统的标记-清扫算法,使得清扫阶段可以在常数时间内完成,因此整个算法的运行时间正比于堆中存活对象的数量,达到了与节点复制算法相同的水平。

1 基本框架和运行方式

下面介绍保守式垃圾收集机制的基本框架和运行方式。一般而言,当前所有的垃圾收集机制,其基本技术可以分为下列三类:引用计数、标记-清扫和节点复制[1]。在这三类基本技术中,引用计数需要拦截指针的读写操作以调整引用计数值,对用户程序的性能有严重的负面影响,而节点复制虽然高效,但在进行垃圾收集时需要移动对象在内存中的位置,不适于应用在保守式垃圾收集机制中。因此,我们的保守式垃圾收集机制基于标记-清扫技术。同时,为了避免注册和注销指针的巨大开销,我们采用了类似于Boehm-Demers-Weiser 保守式收集器的做法,通过扫描程序栈、寄存器和堆中对象的方法来定位指针。

1.1 框架结构

保守式垃圾收集机制的整体结构如图1所示。

(1) 系统级内存分配器

它负责与运行时环境交互,实际获取内存空间。

(2) 用户级内存分配器

它负责与用户程序交互,满足用户程序的内存申请。

(3) 带航标的指针对象

它们是一集特殊的对象,交由用户程序使用。每个带航标的指针对象都保存了一个指针和一个航标,但这些对象的实现方式可能依语言和运行时环境的不同而不同。在我们的系统中,所有受到垃圾收集机制管理的对象,必须通过带航标的指针对象进行访问。

(4) 程序栈与寄存器的扫描例程

它负责在垃圾收集开始时,对用户程序的程序栈和寄存器进行扫描,搜索所有能够被用户程序直接使用的指针对象。对于不同的语言和运行时环境,这一部分的实现可能有所不同。

(5) 标记-清扫例程

它实现了经过改进的标记-清扫算法,在程序栈与寄存器的扫描例程执行完毕后,负责完成实际的内存回收工作。

1.2 运行方式

在我们的保守式垃圾收集机制中,除了用户级分配器和带航标的指针对象之外,其他各个模块对用户程序而言都是透明的。用户程序运行的时候,用户级分配器负责接受来自用户程序的内存分配请求,分配合适大小的内存单元,将带航标的指针对象返回给用户程序。在这里,带航标的指针对象取代了程序设计语言中原生指针的地位,所有受到保守式垃圾收集机制管理的内存单元都必须通过这些指针对象来进行访问。当用户级分配器没有足够的内存满足用户程序的需求时,它调用系统级分配器从运行时系统获取更多的内存纳入自己的管理。这样,随着用户程序的不断运行,它所占用的内存不断增加,直至某一时刻垃圾收集被触发。

当垃圾收集被触发时,用户程序的运行被中断。从用户程序的视角来看,就是陷入在某一次对用户级分配器的调用之中。此时程序栈与寄存器的扫描例程接管进程的执行,对整个用户程序的程序栈和寄存器进行一次线性扫描,搜索所有用户程序能够直接操纵的指针,并将结果传递给标记-清扫例程。标记-清扫例程从这些指针出发,递归地搜索所有位于系统级和用户级分配器管理的内存中的对象,直至找到所有存活对象,并将余下的对象释放。

1.3 同时使用两种不同的堆

有一点值得指出:由于我们的保守式垃圾收集机制拥有自己的堆内存和分配器,因此对于书写用户程序的程序员来说,他们就可以同时使用两个堆:

(1) 受到垃圾收集管理的堆,由保守式垃圾收集机制提供。

(2) 传统的、需要显式释放内存的堆,由语言的运行时环境提供。

这个自由为程序员优化内存的使用提供了可能,从而使得我们的机制能够适用于某些对性能比较敏感的场合[4]。

2 关键技术

在介绍了我们的保守式垃圾收集机制的基本框架和运行方式之后,这一节我们将主要讨论这一机制如何解决传统的保守式垃圾收集机制尚未妥善解决的两大主要问题:

(1) 如何在缺乏运行时环境有效支持的情况下,准确地定位指针。

(2) 如何提高标记-清扫算法的运行效率。

对于问题(1),我们借助带航标的指针对象予以解决;对于问题(2),结合一个高效的两级分配器,我们改进了传统的标记-清扫算法解决了这个问题。

2.1 利用带航标的指针对象帮助指针定位

在缺乏运行时环境支持的保守式垃圾收集机制中,判断一份数据是否是指针非常困难。在程序运行中,一个整形变量可能恰好保存了一个合法的地址值。如果没有额外的类型信息,那么收集器在扫描程序栈、寄存器或是对象的时候就无法将这个变量和一个合法的指针区分开来。对于这个问题,并不存在万无一失的解决方案,收集器必须考虑这种情况并保守地假设所有这样的数据都是一个指针。这也是这类收集器被称为保守式收集器的原因。显然,这会带来一定程度的内存泄漏。对于一些堆中的对象互相引用关系较为复杂和紧密的程序,这甚至可能导致内存使用的颠簸甚至是程序的崩溃。

为了减少这种泄漏,已经存在许多研究成果,但这些解决方案往往以牺牲收集器或是用户程序的运行效率为代价。与这些解决方案不同,我们充分利用面向对象程序设计语言的特性,通过带航标的指针对象来解决这一问题。这里我们首先引入航标的概念:

定义1

航标是一段固定长度、固定内容的二进制数据,它的具体内容可以在垃圾收集器运行之前由用户程序指定,一般取正常程序运行时出现概率极小的特殊数值,如极大的奇数等等。

直观上说,航标的作用就是为收集器扫描搜索指针提供一个标志,只有在出现了航标的情况下,才需要存在指向受垃圾收集机制管理的对象的指针,从而避免了盲目的穷举搜索。由此,我们如下定义带航标的指针对象:

定义2

带航标的指针对象是一类对象的总称,这些对象均满足下列条件:

1) 是某一个或某一族特定类型的实例。

2) 包含一个指向受垃圾收集机制管理的对象的指针和一份航标数据。

3) 航标数据在对象构造时初始化,然后不再改变。

4) 在内存布局中,航标数据和指针有着相同而且固定的相对位置关系。

5) 用户程序可以通过这些对象的公开接口访问它们保存的指针,进而访问指针指向的对象。

6) 用户程序可以通过这些对象之间的操作,改变它们保存的指针,实现类似指针赋值的语义。

采用这种方法,我们把一个实际指针和一份航标数据绑定在一起。收集器在扫描程序栈、寄存器和堆中对象搜索指针的时候,首先寻找航标,在找到航标之后再根据指针对象的内存布局判断对应的指针是否是一个合法的受垃圾收集管理的对象的地址,只有通过了这两个测试之后,收集器才会将这些数据当作一个合法的指针对象。这种方法加快了收集器的扫描速度,降低了收集器判断和定位指针时误判的可能性,从而在很大程度上消除和缓解由于这种误判而带来的内存泄漏。同时,航标仅在指针对象构造的时候简单地初始化一次,随后既不会改变也不会参与指针对象的其他操作,不会给用户程序带来额外的性能开销,因此能够用于对性能比较敏感的场合,提高了我们的保守式垃圾收集机制的适用性。

2.2 两级分配器

负责分配内存的分配器,是垃圾收集器影响用户程序运行效率的一个重要环节。我们的保守式垃圾收集机制采用类似Boehm-Demers-Weiser 保守式收集器的分配体系,分为两个不同级别互相协作的分配器:

(1) 系统级分配器,负责实际向系统申请内存。

(2) 用户级分配器,负责满足用户程序的内存申请。

系统级分配器每次向系统申请固定大小的内存块,并将这些内存块串接成一个双向链表。这些内存块的大小可以由用户程序自行配置。一般来说,为了提高申请的效率,块的大小应该设置为4KB的整倍数。同时,块的大小应该使它能够容易地被划分成各种大小的单元,以减少内部碎片。

用户级分配器从系统级分配器取得内存块,将其划分成一定大小的内存单元。每个内存块都只包含一种大小的对象(尽管类型可能不同),并在块头中记录这个大小。对于每一种大小的对象,用户级分配器为之维护一对独立的双向链表:一个自由链表和一个使用链表。这两个双向链表穿过为相应大小的对象所分配的各个内存块,自由链表串连了所有的空闲内存单元,而使用链表则串连了所有已经被使用的内存单元(参见图2)。这里必须指出的是,用户级分配器不仅维护着这两个链表的表头指针,也维护着指向这两个链表最后一个节点的表尾指针。

当用户级分配器收到一个用户程序的内存请求时,它会将这个请求圆整成合适的大小,然后从相应的自由链表中取出表头节点返回给用户,同时将这个节点串入使用链表。在这里,用户级分配器所支持的对象大小可以由用户程序进行配置,以适应于不同类型的应用。对于太大的对象,用户级分配器直接调用系统级分配器,要求指定大小的内存块专门存放,同样地,这些内存块被串连成自由链表和使用链表。

这一分配体系具有以下三大优点:

(1) 系统级分配器向运行时环境申请内存的方式简单而有规律,有效地减轻了系统的压力。

(2) 用户程序的内存分配请求可以在常数时间内得到满足(不计系统级分配器向运行时环境申请内存的耗时),特别是对于在面向对象程序中最为常见的小对象分配请求,只需要几个简单的指针操作即可完成。

(3) 通过系统级分配器,收集器的其他部分能够方便而快速地确定一个内存地址是否位于受到垃圾收集机制管理的堆之内。

2.3 对标记-清扫算法的改进

如前所述,绝大多数传统的保守式垃圾收集机制使用标记-清扫算法来进行垃圾收集。这一算法的执行过程是这样的:在获得所有用户程序能够直接访问的指针(也就是位于程序栈和寄存器之内的指针)之后,从这些指针出发,沿着对象之间的互相引用访问堆中所有能够访问的对象,为每个访问到的对象打上一个标记。这个过程被称为标记阶段。显然,这个阶段标记了当时用户程序能够访问的所有对象,也就是所有的存活对象。然后,标记-清扫算法对整个堆进行一次遍历,释放所有未被标记的对象。这个过程被称为清扫阶段。

记整个堆的大小为M,存活对象的大小为R,容易看出,传统标记-清扫算法的时间复杂度为:

TMS=O(R)+O(M)=O(M)

也就是说,整个算法的运行时间正比于整个堆的大小。在今天堆内存普遍巨大的情况下,这极大地恶化了它的执行效率,并且会导致用户程序的执行出现长时间停顿。为了解决这个问题,我们借鉴节点复制算法的思想,对标记-清扫算法进行了改进。具体来说,当系统判断需要进行垃圾收集的时候,我们的标记-清扫例程执行下列算法:

第一步:对于每一对自由链表和使用链表,利用自由链表的表尾指针找到最末一个节点,将这个节点的向后链接域(原来为空)置为使用链表的表头指针,最后将自由链表的表尾指针置为使用链表的表尾指针。显然,现在所有的对象都在自由链表中。

第二步:将每一个使用链表的表头和表尾指针都置为空。

第三步:从程序栈和寄存器中保存的指针出发,沿着对象之间的互相引用访问堆中所有能够访问的对象。每访问一个对象,就执行下列子步骤:

子步骤一:根据对象的地址确定它所属的内存块,从而确定它的大小。

子步骤二:找到它所属的自由链表和对应的使用链表,将它从自由链表中移出,链接到使用链表的表尾,并更新链表的表尾指针。

第四步:扫描完成,将控制权交还给用户级分配器,完成挂起的内存分配,恢复用户程序的运行。

这个算法在第一步,以一个简单的步骤完成了所有死亡对象的释放,随后整个扫描过程实际上可以被视为“恢复”存活对象的过程。事实上,这个算法的逻辑更接近节点复制算法而不是标记-清扫算法:我们可以将自由链表和使用链表视为节点复制算法中的两个半区,将第一第二步视为交换两个半区的角色,而将第三步视为“复制”一个半区中的所有对象。

显然,由于系统中仅有有限个自由链表和使用链表,因此算法的第一步和第二步可以在O(1)时间内完成。而对于第三步,每访问一个存活对象,将它从自由链表移动到使用链表的两个子步骤也可以在O(1)时间内完成。因此,这个算法的时间复杂度为:

TMS-new=O(1)+O(R)=O(R)

整个算法的执行时间正比于堆中存活对象的数量,与节点复制算法相同。

通过使用这个改进了的标记-清扫算法,我们避开了费时的清扫堆的操作,大大提高了垃圾收集器的运行效率。

3 在C++语言中的实现

对于保守式垃圾收集机制而言,最重要的应用就是为C/C++语言提供垃圾收集的支持。下面就以C++语言为例,给出一些实现上的细节。

3.1 智能指针实现带航标的指针对象

在C++语言中,智能指针是一种常见的程序设计技法,它通过运算符重载使得某些类的对象能够拥有类似指针的行为。我们的实现利用了智能指针的这一特点,用它来实现带航标的指针对象。具体代码如下:

上述代码中,我们用类模板ref实现智能指针。记类模板ref以类型T为模板参数的具现化版本为ref,则一个ref的实例就是一个指向类型为T的对象的智能指针。在ref的实现中,成员_mark是航标数据而成员_ptr是指向实际对象的指针。按照C++语言中对象的内存布局规则,每个智能指针中的_mark成员和_ptr成员将会在内存中相邻。

类模板ref中的其他设施模拟了C++语言中指针的行为,函数ref_dynamic_cast则模拟原生指针的dynamic_cast转型运算符,从而使不同类型的智能指针能够实现在继承体系中的向下转型动作。

3.2 两级分配器使用的数据结构

下面给出两级分配器所使用的部分数据结构。首先是系统级分配器用于管理内存块的结构:

上述结构对应于系统级分配器向运行时系统申请的内存块。所有的内存块通过_next成员链接称为一个单向链表,_cell存放了这个内存块中内存单元的大小,而_space成员提供访问内存块中数据的手段。内存块的实际大小是由系统级分配器申请内存时决定的,与_space成员的定义无关。

随后我们给出用户级分配器用于管理内存单元的数据结构:

上述结构对应于用户级分配器管理的内存单元。所有的内存单元通过_prev和_next成员链接在自由链表或使用链表中。同样的,内存单元的实际大小由用户级分配器划分内存块时决定,与_space成员的定义无关。最后,_flags成员按位保存了关于这个内存单元的一些标志,位的含义参见表1。

4 结束语

本文主要研究了在缺乏运行时环境支持的情况下,如何为面向对象程序设计语言构建保守式垃圾收集机制的问题。针对这些问题,我们提出了一种新的保守式垃圾收集机制,在很大程度上缓解和克服了传统的方法中指针定位不准确,容易出现内存泄漏,应用传统标记-清扫算法导致在清扫阶段执行效率低下等问题。因此,这个机制大大提高了保守式垃圾收集器的鲁棒性和执行效率。值得指出的是,这个机制不仅能够为缺乏原生性垃圾收集机制的面向对象程序设计语言添加垃圾收集支持,也可以作为某个程序设计语言的原生性垃圾收集器。另外,这一机制的设计拥有充分的弹性和可扩展性,为将来引入更多的改进(如被普遍认为能够提高效率的分代技术等)预留了空间。这也是我们一个很有价值的研究方向。

摘要:主要研究了在缺乏运行时环境支持的情况下,如何为面向对象程序设计语言构建保守式垃圾收集机制的问题。传统的解决方案存在两大主要缺陷:1)指针定位不准确,容易出现内存泄漏;2)应用传统的标记-清扫算法,在清扫阶段执行效率低下。结合面向对象程序设计语言的特点提出了一种新的保守式垃圾收集机制,能够有效地解决这些问题,从而提高了程序运行的鲁棒性和效率,并以C++语言为例进行了具体实现。

关键词:垃圾收集,保守式,标记-清扫,C++

参考文献

[1] Richard Jones,Rafael Lins.Garbage Collection:algorithms for automatic dynamic memory management,John Wiley & Sons,1999.

[2]Hans Juergen Boehm,Mark Weiser.Garbage collection in an uncooper-ative environment.Software Practice and Experience,1998,18(9):807-820.

[3] Bertrand Meyer.Object-Oriented Software Construction.second edition,Prentice Hall,2000.

[4] Bjarne Stroustrup.The C++ Programming Language.Special Edition,Addison Wesley,2000.

上一篇:小学数字化教学模式下一篇:组织选择方法