月度归档: 2021 年 10 月

2021年10月中国采购经理指数运行情况

国家统计局服务业调查中心中国物流与采购联合会   一、中国制造业采购经理指数运行情况   10月份,中国制造业采购经理指数(PMI)为49.2%,比上月下降0.4个百分点,继续低于临界点,制造业景气度有所减弱。    从企业规模看,大型企业PMI为50.3%,比上月略降0.1个百分点,但仍高于临界点;中型企业PMI为48.6%,比上月下降1.1个百分点,低于临界点;小型企业PMI为47.5%,与上月持平,低于临界点。   从分类指数看,在构成制造业PMI的5个分类指数中,生产指数、新订单指数、原材料库存指数、从业人员指数和供应商配送时间指数均低于临界点。   生产指数为48.4%,比上月下降1.1个百分点,表明制造业生产活动放缓。   新订单指数为48.8%,比上月下降0.5个百分点,表明制造业市场需求有所回落。   原材料库存指数为47.0%,比上月下降1.2个百分点,表明制造业主要原材料库存量继续减少。   从业人员指数为48.8%,比上月下降0.2个百分点,表明制造业企业用工景气度有所下降。   供应商配送时间指数为46.7%,比上月下降1.4个百分点,表明制造业原材料供应商交货时间继续延长。  表1 中国制造业PMI及构成指数(经季节调整) 单位:%   PMI   生产 新订单 原材料库存 从业人员 供应商配送时间 2020年10月 51.4 53.9 52.8 48.0 49.3 50.6 2020年11月 52.1 54.7 53.9 48.6 49.5 50.1 2020年12月 51.9 54.2 53.6 48.6 49.6 49.9 2021年1月 51.3 53.5 52.3 49.0 48.4 48.8 2021年2月 50.6 51.9 51.5 47.7 48.1 47.9 2021年3月 51.9 53.9 53.6 48.4 50.1 50.0 2021年4月 51.1 52.2 52.0 48.3 49.6 48.7 2021年5月 51.0 52.7 51.3 47.7 48.9 47.6 2021年6月 50.9 51.9 51.5 48.0 49.2 47.9 2021年7月 50.4 51.0 50.9 47.7 49.6 48.9 2021年8月 50.1 50.9 49.6 47.7 49.6 48.0 2021年9月 49.6 49.5 49.3 48.2 49.0 48.1 2021年10月 49.2 48.4 48.8 47.0 48.8 46.7   表2 中国制造业PMI其他相关指标情况(经季节调整) 单位:%   新出口订单 进口 采购量 主要原材料 购进价格 出厂价格 产成品 库存 在手订单 生产经营 活动预期 2020年10月 51.0 50.8 53.1 58.8 53.2 44.9 47.2 59.3 2020年11月 51.5 50.9 53.7 62.6 56.5 45.7 46.7 60.1 2020年12月 51.3 50.4 53.2 68.0 58.9 46.2 47.1 59.8 2021年1月 50.2 49.8 52.0 67.1 57.2 49.0 47.3 57.9 2021年2月 48.8 49.6 51.6 66.7 58.5 48.0 46.1 59.2 2021年3月 51.2 51.1 53.1 69.4 59.8 46.7 46.6 58.5 2021年4月 50.4 50.6 51.7 66.9 57.3 46.8 46.4 58.3 2021年5月 48.3 50.9 51.9 72.8 60.6 46.5 45.9 58.2 2021年6月 48.1 49.7 51.7 61.2 51.4 47.1 46.6 57.9 2021年7月 47.7 49.4 50.8 62.9 53.8 47.6 46.1 57.8 2021年8月 46.7 48.3 50.3 61.3 53.4 47.7 45.9 57.5 2021年9月 46.2 46.8 49.7 63.5 56.4 47.2 45.6 56.4 2021年10月 46.6 47.5 48.9 72.1 61.1 46.3 45.0 53.6    二、中国非制造业采购经理指数运行情况   10月份,非制造业商务活动指数为52.4%,比上月下降0.8个百分点,但仍高于临界点,非制造业继续保持扩张。    分行业看,建筑业商务活动指数为56.9%,比上月下降0.6个百分点。服务业商务活动指数为51.6%,比上月下降0.8个百分点。从行业情况看,住宿、餐饮、电信广播电视及卫星传输服务、互联网软件及信息技术服务、货币金融服务、生态保护及环境治理、文化体育娱乐等行业商务活动指数位于55.0%以上较高景气区间;资本市场服务、保险、房地产、居民服务等行业商务活动指数低于临界点。     新订单指数为49.0%,虽与上月持平,但仍低于临界点,表明非制造业市场需求继续放缓。分行业看,建筑业新订单指数为52.3%,比上月上升3.0个百分点;服务业新订单指数为48.4%,比上月下降0.6个百分点。   投入品价格指数为57.8%,比上月上升4.3个百分点,高于临界点,表明非制造业企业用于经营活动的投入品价格总体水平明显上升。分行业看,建筑业投入品价格指数为70.7%,比上月上升7.9个百分点;服务业投入品价格指数为55.5%,比上月上升3.7个百分点。   销售价格指数为52.7%,比上月上升2.2个百分点,高于临界点,表明非制造业销售价格总体水平继续上涨。分行业看,建筑业销售价格指数为57.1%,比上月上升1.3个百分点;服务业销售价格指数为52.0%,比上月上升2.4个百分点。   从业人员指数为47.5%,比上月下降0.3个百分点,表明非制造业企业用工景气度有所减弱。分行业看,建筑业从业人员指数为52.4%,比上月下降0.2个百分点;服务业从业人员指数为46.6%,比上月下降0.3个百分点。   业务活动预期指数为58.8%,虽比上月下降0.3个百分点,但仍位于较高景气区间,表明非制造业企业对近期市场发展较为乐观。分行业看,建筑业业务活动预期指数为60.3%,比上月上升0.2个百分点;服务业业务活动预期指数为58.5%,比上月下降0.4个百分点。  表3 中国非制造业主要分类指数(经季节调整) 单位:%    商务活动 新订单 投入品价格 销售价格 从业人员 业务活动预期 2020年10月 56.2 53.0 50.9 49.4 49.4 62.9 2020年11月 56.4 52.8 52.7 51.0 48.9 61.2 2020年12月 55.7 51.9 54.3 52.3 48.7 60.6 2021年1月 52.4 48.7 54.5 51.4 47.8 55.1 2021年2月 51.4 48.9 54.7 50.1 48.4 64.0 2021年3月 56.3 55.9 56.2 52.2 49.7 63.7 2021年4月 54.9 51.5 54.9 51.2 48.7 63.0 2021年5月 55.2 52.2 57.7 52.8 48.9 62.9 2021年6月 53.5 49.6 53.4 51.4 48.0 60.8 2021年7月 53.3 49.7 53.5 51.3 48.2 60.7 2021年8月 47.5 42.2 51.3 49.3 47.0 57.4 2021年9月 53.2 49.0 53.5 50.5 47.8 59.1 2021年10月 52.4 49.0 57.8 52.7 47.5 58.8   表4 中国非制造业其他分类指数(经季节调整) 单位:%   新出口订单 在手订单 存货 供应商配送时间 2020年10月 47.0 44.9 48.7 52.3 2020年11月 49.0 45.2 48.8 51.8 2020年12月 47.5 44.7 47.0 51.2 2021年1月 48.0 44.0 47.4 49.8 2021年2月 45.7 44.0 45.9 49.8 2021年3月 50.3 45.9 48.2 51.8 2021年4月 48.1 45.8 47.2 50.9 2021年5月 47.6 44.7 47.2 50.8 2021年6月 45.4 43.8 47.0 51.0 2021年7月 47.7 44.8 47.3 51.3 2021年8月 43.9 42.9 45.9 49.2 2021年9月 46.4 44.2 45.9 50.4 2021年10月 47.5 44.3 45.5 49.7    三、中国综合PMI产出指数运行情况   10月份,综合PMI产出指数为50.8%,比上月下降0.9个百分点,表明我国企业生产经营活动总体扩张步伐有所放缓。    附注   1.主要指标解释   采购经理指数(PMI),是通过对企业采购经理的月度调查结果统计汇总、编制而成的指数,它涵盖了企业采购、生产、流通等各个环节,包括制造业和非制造业领域,是国际上通用的监测宏观经济走势的先行性指数之一,具有较强的预测、预警作用。综合PMI产出指数是PMI指标体系中反映当期全行业(制造业和非制造业)产出变化情况的综合指数。PMI高于50%时,反映经济总体较上月扩张;低于50%,则反映经济总体较上月收缩。   2.调查范围   涉及《国民经济行业分类》(GB/T4754-2017)中制造业的31个行业大类,3000家调查样本;非制造业的43个行业大类,4200家调查样本。   3.调查方法   采购经理调查采用PPS(Probability Proportional to Size)抽样方法,以制造业或非制造业行业大类为层,行业样本量按其增加值占全部制造业或非制造业增加值的比重分配,层内样本使用与企业主营业务收入成比例的概率抽取。   本调查由国家统计局直属调查队具体组织实施,利用国家统计联网直报系统对企业采购经理进行月度问卷调查。   4.计算方法   (1)分类指数的计算方法。制造业采购经理调查指标体系包括生产、新订单、新出口订单、在手订单、产成品库存、采购量、进口、主要原材料购进价格、出厂价格、原材料库存、从业人员、供应商配送时间、生产经营活动预期等13个分类指数。非制造业采购经理调查指标体系包括商务活动、新订单、新出口订单、在手订单、存货、投入品价格、销售价格、从业人员、供应商配送时间、业务活动预期等10个分类指数。分类指数采用扩散指数计算方法,即正向回答的企业个数百分比加上回答不变的百分比的一半。由于非制造业没有合成指数,国际上通常用商务活动指数反映非制造业经济发展的总体变化情况。   (2)制造业PMI指数的计算方法。制造业PMI是由5个扩散指数(分类指数)加权计算而成。5个分类指数及其权数是依据其对经济的先行影响程度确定的。具体包括:新订单指数,权数为30%;生产指数,权数为25%;从业人员指数,权数为20%;供应商配送时间指数,权数为15%;原材料库存指数,权数为10%。其中,供应商配送时间指数为逆指数,在合成制造业PMI指数时进行反向运算。   (3)综合PMI产出指数的计算方法。综合PMI产出指数由制造业生产指数与非制造业商务活动指数加权求和而成,权数分别为制造业和非制造业占GDP的比重。   5.季节调整   采购经理调查是一项月度调查,受季节因素影响,数据波动较大。现发布的指数均为季节调整后的数据。 

2021年前三季度全国规模以上文化及相关产业企业营业收入增长21.8%,两年平均增长10.0%

  据对全国6.4万家规模以上文化及相关产业企业调查,前三季度,上述企业实现营业收入84205亿元,按可比口径计算(详见附注6),比上年同期增长21.8%[1];两年平均增长[2]10.0%。   分业态看,文化新业态特征较为明显的16个行业小类[3]实现营业收入28322亿元,比上年同期增长26.1%;两年平均增长24.0%,高于全部规模以上文化及相关产业企业14.0个百分点。   分行业类别看,新闻信息服务营业收入9847亿元,比上年同期增长22.1%,两年平均增长19.5%;内容创作生产17693亿元,增长18.6%,两年平均增长11.1%;创意设计服务13787亿元,增长24.0%,两年平均增长16.3%;文化传播渠道9309亿元,增长30.1%,两年平均增长4.2%;文化投资运营359亿元,增长13.8%,两年平均增长6.8%;文化娱乐休闲服务916亿元,增长35.3%,两年平均下降9.9%;文化辅助生产和中介服务11441亿元,增长18.3%,两年平均增长3.5%;文化装备生产4880亿元,增长17.8%,两年平均增长6.7%;文化消费终端生产15974亿元,增长22.0%,两年平均增长10.9%。   分产业类型看,文化制造业营业收入30950亿元,比上年同期增长17.7%,两年平均增长6.4%;文化批发和零售业13561亿元,增长26.0%,两年平均增长6.5%;文化服务业39693亿元,增长23.7%,两年平均增长14.5%。   分领域看,文化核心领域[4]营业收入51911亿元,比上年同期增长22.9%,两年平均增长11.7%;文化相关领域32294亿元,增长20.0%,两年平均增长7.5%。   分区域看,东部地区实现营业收入64715亿元,比上年同期增长22.5%,两年平均增长10.4%;中部地区11417亿元,增长19.7%,两年平均增长8.5%;西部地区7329亿元,增长19.0%,两年平均增长9.6%;东北地区744亿元,增长20.2%,两年平均增长0.5%。 2021年前三季度全国规模以上文化及相关产业企业营业收入情况    *对额 所占 比重 比上年同期 增长 比2019年 前三季度增长 两年平均 增长 (亿元) (%) (%) (%) (%) 总 计 84205 100.0 21.8 21.0 10.0             按行业类别分            新闻信息服务 9847 11.7 22.1 42.9 19.5  内容创作生产 17693 21.0 18.6 23.5 11.1  创意设计服务 13787 16.4 24.0 35.2 16.3  文化传播渠道 9309 11.1 30.1 8.6 4.2  文化投资运营 359 0.4 13.8 14.1 6.8  文化娱乐休闲服务 916 1.1 35.3 -18.8 -9.9  文化辅助生产和中介服务 11441 13.6 18.3 7.1 3.5  文化装备生产 4880 5.8 17.8 13.8 6.7  文化消费终端生产 15974 19.0 22.0 23.0 10.9             按产业类型分            文化制造业 30950 36.8 17.7 13.2 6.4  文化批发和零售业 13561 16.1 26.0 13.5 6.5  文化服务业 39693 47.1 23.7 31.1 14.5             按领域分            文化核心领域 51911 61.6 22.9 24.7 11.7  文化相关领域 32294 38.4 20.0 15.5 7.5             按区域分            东部地区 64715 76.9 22.5 22.0 10.4  中部地区 11417 13.6 19.7 17.8 8.5  西部地区 7329 8.7 19.0 20.1 9.6  东北地区 744 0.9 20.2 1.1 0.5 注: 1.表中速度均为未扣除价格因素的名义增速。 2.表中部分数据因四舍五入,存在总计与分项合计不等的情况。    注:   [1] 为名义增长,未扣除价格因素。   [2] 两年平均增长,即以2019年相应同期数为基数,采用几何平均的方法计算的增长速度。   [3] 新业态特征明显的16个行业小类是:广播电视集成播控,互联网搜索服务,互联网其他信息服务,数字出版,其他文化艺术业,动漫、游戏数字内容服务,互联网游戏服务,多媒体、游戏动漫和数字出版软件开发,增值电信文化服务,其他文化数字内容服务,互联网广告服务,互联网文化娱乐平台,版权和文化软件服务,娱乐用智能无人飞行器制造,可穿戴智能文化设备制造,其他智能文化消费设备制造。   [4] 文化核心领域包括新闻信息服务、内容创作生产、创意设计服务、文化传播渠道、文化投资运营、文化娱乐休闲服务6个行业,文化相关领域包括文化辅助生产和中介服务、文化装备生产、文化消费终端生产3个行业。    附注   1、指标解释   文化及相关产业指为社会公众提供文化产品和文化相关产品的生产活动的集合。《文化及相关产业分类(2018)》规定文化及相关产业包括新闻信息服务、内容创作生产、创意设计服务、文化传播渠道、文化投资运营、文化娱乐休闲服务、文化辅助生产和中介服务、文化装备生产、文化消费终端生产9个大类。   营业收入指“主营业务收入”及“其他业务收入”之和。   2、统计范围   规模以上文化及相关产业的统计范围为《文化及相关产业分类(2018)》所规定行业范围内,年主营业务收入在2000万元及以上的工业企业;年主营业务收入在2000万元及以上的批发企业或年主营业务收入在500万元及以上的零售企业;年营业收入在1000万元及以上的服务业企业,其中交通运输、仓储和邮政业,信息传输、软件和信息技术服务业,水利、环境和公共设施管理业的年营业收入在2000万元及以上,居民服务、修理和其他服务业,文化、体育和娱乐业的年营业收入在500万元及以上。   3、调查方法   每季度进行规模以上文化及相关产业法人单位认定,根据国家统计联网直报平台上规模以上工业企业、限额以上批发和零售业企业、规模以上服务业企业全面调查取得的数据进行汇总。   4、行业分类标准   执行《文化及相关产业分类(2018)》,具体请参见http://www.stats.gov.cn/tjgz/tzgb/201804/t20180423_1595390.html。   5、东、中、西部和东北地区   东部地区包括北京、天津、河北、上海、江苏、浙江、福建、山东、广东、海南10个省(市);中部地区包括山西、安徽、江西、河南、湖北、湖南6个省;西部地区包括内蒙古、广西、重庆、四川、贵州、云南、西藏、陕西、甘肃、青海、宁夏、新疆12个省(市、自治区);东北地区包括辽宁、吉林、黑龙江3个省。   6、2021年前三季度规模以上文化及相关产业企业营业收入的上年同期数与之前公布的2020年前三季度数据存在差异,主要原因是:(一)规模以上企业数量发生增减变化。2021年前三季度有部分企业达到规模以上标准纳入调查范围,也有部分企业因规模变小而退出调查范围,还有新建投产、破产注(吊)销企业等,使得规上企业数量发生变化。2021年9月,全国规模以上文化及相关产业调查企业数量为6.4万家,比上年同期增加4562家。按照可比口径,2020年前三季度全国规模以上文化及相关产业企业营业收入为69149亿元。(二)加强统计执法,对统计执法检查中发现的不符合规模以上要求的企业及填报的不实数据进行了清理,对相关基数依规进行了修正。 

国家统计局社科文司高级统计师张鹏解读前三季度全国规模以上文化及相关产业企业营业收入数据

文化企业延续向好发展态势 营业收入保持两位数增长 ——国家统计局社科文司高级统计师张鹏解读前三季度全国规模以上文化及相关产业企业营业收入数据   今年以来,我国文化企业发展虽然受到局部地区疫情汛情叠加等因素影响,但助企纾困政策措施落实有力,我国文化及相关产业保持较快增长,恢复基础得到巩固。前三季度,全国规模以上文化及相关产业企业(以下简称“文化企业”)实现营业收入84205亿元,比上年同期增长21.8%,两年平均增长10.0%[1],比2019年前三季度同比增速加快2.4个百分点。   文化核心领域“压舱石”作用凸显。前三季度,文化核心领域[2]营业收入51911亿元,比上年同期增长22.9%,两年平均增长11.7%,比2019年前三季度同比增速加快0.9个百分点;占文化企业营业收入比重为61.6%,比上年同期提高0.6个百分点;对文化企业营业收入增长的贡献达到64.2%,分别比一季度和上半年提高2.3和0.3个百分点。其中,新闻信息服务、创意设计服务、内容创作生产等3个行业两年平均增速超过两位数,分别为19.5%、16.3%和11.1%;但文化娱乐休闲服务受疫情冲击较大,两年平均下降9.9%。另外,在文化相关领域3个行业中,文化消费终端生产两年平均增长10.9%,增速明显快于其他2个行业。   文化新业态“助推器”作用增强。随着我国文化产业数字化战略深入实施,以视频直播、创意广告、智能文娱设备制造等为代表的文化新业态带动作用持续增强。前三季度,文化新业态特征较为明显的16个行业小类[3]实现营业收入28322亿元,比上年同期增长26.1%;两年平均增长24.0%,高于全部文化企业平均水平14.0个百分点;对文化企业营业收入增长的贡献达到38.9%,分别比一季度和上半年提高6.1和3.4个百分点。其中,可穿戴智能文化设备制造、互联网广告服务2个细分行业营业收入两年平均增速分别为54.0%和37.0%。   区域文化产业高地“领头雁”作用突出。京津冀、长三角、粤港澳等区域文化产业群建设持续推进,有力推动了相关区域文化产业发展。前三季度,东部地区实现营业收入64715亿元,比上年同期增长22.5%,两年平均增长10.4%,高于全部文化企业平均水平0.4个百分点;占全国的比重为76.9%,比上年同期提高0.5个百分点。从城市群看,15个副省级城市[4]实现营业收入27440亿元,比上年同期增长22.9%,两年平均增长12.2%,高于全部文化企业平均水平2.2个百分点;占全国的比重为32.6%,比上年同期提高0.3个百分点。 下阶段,随着疫情防控和经济社会发展统筹推进,中央及地方惠及文化企业纾困政策精准实施,文化市场发展环境持续优化,文化产品与服务供给不断丰富,我国文化及相关产业有望继续保持良好发展态势。 注:   [1] 两年平均增速是指以2019年相应同期数为基数,采用几何平均的方法计算的增速。   [2] 文化核心领域包括新闻信息服务、内容创作生产、创意设计服务、文化传播渠道、文化投资运营、文化娱乐休闲服务6个行业,文化相关领域包括文化辅助生产和中介服务、文化装备生产、文化消费终端生产3个行业。   [3] 新业态特征明显的16个行业小类是:广播电视集成播控,互联网搜索服务,互联网其他信息服务,数字出版,其他文化艺术业,动漫、游戏数字内容服务,互联网游戏服务,多媒体、游戏动漫和数字出版软件开发,增值电信文化服务,其他文化数字内容服务,互联网广告服务,互联网文化娱乐平台,版权和文化软件服务,娱乐用智能无人飞行器制造,可穿戴智能文化设备制造,其他智能文化消费设备制造。   [4] 15个副省级城市包括沈阳、大连、长春、哈尔滨、南京、杭州、宁波、厦门、济南、青岛、武汉、广州、深圳、成都和西安。 

2020年中国创新指数增长6.4%

   据国家统计局社科文司《中国创新指数研究》课题组测算[1],2020年中国创新指数达到242.6(以2005年为100),比上年增长6.4%。分领域看,创新环境指数、创新投入指数、创新产出指数和创新成效指数分别达到266.3、209.7、319.8和174.7,分别比上年增长6.3%、5.4%、8.5%和3.8%。测算结果表明,2020年,我国创新能力和水平保持持续提升,创新环境不断优化,创新投入继续增加,创新产出较快增长,创新成效进一步显现。   (一)创新环境指数。2020年我国创新环境指数为266.3,比上年增长6.3%。该领域的5个评价指标指数四升一降,其中,劳动力中大专及以上学历人数指数、理工科毕业生占适龄人口比重指数、享受加计扣除减免税企业所占比重指数均实现两位数增长,增速分别为14.3%、13.1%和12.4%;人均GDP指数增长2.2%;科技拨款占财政拨款的比重指数下降8.4%。   (二)创新投入指数。2020年创新投入指数为209.7,比上年增长5.4%。该领域的6个评价指标指数均不同程度实现增长,其中,每万人R&D人员全时当量指数、R&D经费占GDP比重指数增长较快,增速分别为8.9%和7.2%;有研发机构的企业所占比重指数、企业R&D经费占主营业务收入比重指数、开展产学研合作的企业所占比重指数分别增长6.9%、4.9%和3.8%;基础研究人员人均经费指数增长0.9%。   (三)创新产出指数。2020年创新产出指数为319.8,比上年增长8.5%。该领域的5个评价指标指数四升一降,其中,每万名R&D人员专利授权数指数、每万名科技活动人员技术市场成交额指数、每百家企业商标拥有量指数均实现两位数增长,增速分别达24.6%、19.1%和17.6%;每万人科技论文数指数增长0.1%;发明专利授权数占专利授权数的比重指数下降13.8%。   (四)创新成效指数。2020年创新成效指数为174.7,比上年增长3.8%。该领域的5个评价指标指数均不同程度实现增长,其中新产品销售收入占主营业务收入的比重指数增长较快,增速为9.9%;人均主营业务收入指数、高新技术产品出口额占货物出口额的比重指数分别增长5.9%和2.5%;科技进步贡献率指数和单位GDP能耗指数分别增长0.8%和0.2%。  图 2005-2020年中国创新指数及分领域指数   中国创新指数情况    2005年 2010年 2015年 2019年 2020年 中国创新指数 100 133.0 173.8 228.1 242.6  一、创新环境指数 100 135.7 174.5 250.4 266.3   1.劳动力中大专及以上学历人数指数 100 161.7 246.5 278.7 318.5   2.人均GDP指数 100 166.6 236.5 299.9 306.5   3.理工科毕业生占适龄人口比重指数 100 142.8 182.8 219.0 247.7   4.科技拨款占财政拨款的比重指数 100 116.4 101.2 114.0 104.4   5.享受加计扣除减免税企业所占比重指数 100 103.0 150.3 476.7 535.7  二、创新投入指数 100 132.3 164.1 199.0 209.7   1.每万人R&D人员全时当量指数 100 182.5 260.3 326.2 355.1   2.R&D经费占GDP比重指数 100 130.7 157.5 171.3 183.6   3.基础研究人员人均经费指数 100 163.5 248.0 298.6 301.3   4.企业R&D经费占主营业务收入比重指数 100 112.8 125.5 142.1 149.0   5.有研发机构的企业所占比重指数 100 117.6 143.8 195.4 208.7   6.开展产学研合作的企业所占比重指数 100 103.7 106.6 134.6 139.7  三、创新产出指数 100 137.2 208.1 294.7 319.8   1.每万人科技论文数指数 100 152.8 164.3 191.3 191.6   2.每万名R&D人员专利授权数指数 100 230.6 337.9 429.3 534.9   3.发明专利授权数占专利授权数的比重指数 100 89.3 136.7 144.8 124.8   4.每百家企业商标拥有量指数 100 100.1 180.0 386.4 454.6   5.每万名科技活动人员技术市场成交额指数 100 155.3 287.7 489.1 582.3  四、创新成效指数 100 126.8 148.5 168.3 174.7   1.新产品销售收入占主营业务收入的比重指数 100 115.2 127.3 170.8 187.8   2.高新技术产品出口额占货物出口额的比重指数 100 109.0 100.6 102.1 104.6   3.单位GDP能耗指数 100 123.8 150.7 173.4 173.7   4.人均主营业务收入指数 100 179.0 292.5 324.5 343.7   5.科技进步贡献率指数 100 117.8 128.0 137.7 138.9     注:[1]因第七次全国人口普查后对相关指标进行历史数据修订,以及国内生产总值(GDP)等指标根据例行统计制度进行历史数据修订,中国创新指数历史测算结果作相应调整。   附件: 中国创新指标体系及指数编制方法   一、中国创新指标体系   中国创新指标体系分成三个层次。*个层次用以反映我国创新总体发展情况,通过计算创新总指数实现;第二个层次用以反映我国在创新环境、创新投入、创新产出和创新成效等4个领域的发展情况,通过计算分领域指数实现;第三个层次用以反映构成创新能力各方面的具体发展情况,通过上述4个领域所选取的21个评价指标实现(指标体系框架详见附表)。4个领域及21个评价指标的简要说明如下:   (一)创新环境   该领域主要反映驱动创新能力发展所必备的人力、财力等基础条件的支撑情况,以及政策环境对创新的引导和扶持力度,共设5个评价指标。   1.劳动力中大专及以上学历人数   该指标用以反映我国劳动力综合素质情况。劳动力是指年龄在16岁及以上,有劳动能力,参加或要求参加社会经济活动的人口。2015年及之前年份该指标名称为经济活动人口中大专及以上学历人数。   2.人均GDP   指按人口平均的国内生产总值(GDP,不变价)。这是反映一个国家经济实力的*具代表性的指标,可以反映经济增长与创新能力发展之间相互依存、相互促进的关系。   3.理工科毕业生占适龄人口比重   该指标反映我国潜在创新人力资源情况。理工科毕业生指本科及以上理工农医类毕业生人数,适龄人口是指我国20-34岁人口数。   4.科技拨款占财政拨款的比重   政府财政科技拨款对全社会创新投入和创新活动的开展具有带动和导向作用,该指标反映政府对创新的直接投入力度以及对重点、关键和前沿领域的规划和引导作用。   5.享受加计扣除减免税企业所占比重   企业研发费用税前加计扣除政策被认为是鼓励企业加大研发投入、开展创新活动的*为直接和有利的扶植政策之一。该指标可以反映政府有关政策的落实情况,进而从一个侧面反映企业创新环境情况。受数据来源限制,该指标的数据口径为大中型工业企业。   (二)创新投入   该领域通过创新的人力财力投入情况、企业创新主体中发挥关键作用的部门(即研发机构)建设情况以及创新主体的合作情况来反映国家创新体系中各主体的作用和关系。由于研发是实现创新的*重要环节,这里用研发投入指标反映创新投入。该领域共设6个评价指标。   1.每万人R&D人员全时当量   指按常住全部人口平均计算的R&D人员全时当量。该指标反映自主创新人力的投入规模和强度。R&D人员包括企业、科研机构、高等学校的R&D人员,是全社会各种创新主体的R&D人力投入合力。R&D人员全时当量是指按工作量折合计算的R&D人员。   2.R&D经费占GDP比重   该指标又称R&D投入强度,是国际上通用的、反映国家或地区科技投入水平的核心指标,也是我国科技创新相关发展规划中的重要评价指标。   3.基础研究人员人均经费   指按基础研究人员全时当量平均的基础研究经费。基础研究是科学技术发展的根基,其水平在一定程度上可以代表一个国家原始创新能力。本指标体系以该指标来反映国家在加强原始创新能力上所作的努力。   4.企业R&D经费占主营业务收入比重   企业是创新活动的主体,而工业企业又在企业创新活动中占有主导地位。该指标反映创新活动主体的经费投入强度。受数据来源限制,该指标的数据口径为有R&D活动的大中型工业企业。   5.有研发机构的企业所占比重   企业办研发机构是企业开展R&D活动的专门机构,是企业持续、稳定开展创新活动的重要保障。该指标从一个侧面反映企业持续开展创新活动的能力。受数据来源限制,该指标的数据口径为大中型工业企业。   6.开展产学研合作的企业所占比重   该指标是反映产学研合作的重要指标。本指标体系通过产学研合作来反映我国各创新主体间的合作情况。受数据来源限制,该指标的数据口径为大中型工业企业。   (三)创新产出   该领域通过论文、专利、商标、技术市场成交额反映创新中间产出结果。该领域共设5个评价指标。   1.每万人科技论文数   科技论文是指企事业单位立项的由科技项目产生的、并在有正规刊号的刊物上发表的学术论文,是创新活动中间产出的重要成果形式之一。该指标反映研发活动的产出水平和效率。   2.每万名R&D人员专利授权数   指按R&D人员全时当量平均的专利授权数量。本指标体系中的专利授权数指国内专利授权数,专利授权数是创新活动中间产出的又一重要成果形式。该指标也是反映研发活动的产出水平和效率的重要指标。   3.发明专利授权数占专利授权数的比重   发明专利在三种专利中的技术含量*高,能够体现专利的水平,也体现了研发成果的市场价值和竞争力,本指标体系中的发明专利授权数指国内发明专利授权数。该指标是反映专利质量的重要指标。   4.每百家企业商标拥有量   商标拥有量指企业作为*商标注册人拥有的经境内外商标行政部门核准注册且在有效期内的商标数量。该指标在一定程度上反映企业自主品牌拥有情况和自主品牌的经营能力。受数据来源限制,该指标的数据口径为大中型工业企业。   5.每万名科技活动人员技术市场成交额   指按每万名科技活动人员平均的技术市场成交金额。该指标反映技术转移和科技成果转化的总体规模。技术市场成交额指全国技术市场合同成交项目的总金额。   (四)创新成效   该领域通过产品结构调整、产业国际竞争力、节约能源、经济增长等方面,反映创新对经济社会发展的影响。该领域共设5个评价指标。   1.新产品销售收入占主营业务收入的比重   新产品销售收入是反映企业创新成果,即将新产品成功推向市场的指标。该指标用于反映创新对产品结构调整的效果。受数据来源限制,该指标的数据口径为大中型工业企业。   2.高新技术产品出口额占货物出口额的比重   高技术产业与创新具有互动关系。该指标通过高新技术产品出口的变化情况,反映创新对产业国际竞争力的影响效果。   3.单位GDP能耗   指每产出万元国内生产总值(GDP,不变价)所消耗的以标准煤计算的能源。节约能源是企业技术创新的目的之一,创新是节约能源的途径和保障,对节约能源起决定性因素。该指标反映创新对降低能耗的效果。   4.人均主营业务收入   指一定时期内工业企业主营业务收入与平均用工人数之比,用以反映生产效率。创新是影响生产效率的重要因素,提高生产效率是企业创新的目的之一。该指标反映创新对工业经济发展的促进作用,数据口径为规模以上工业企业。   5.科技进步贡献率   指广义技术进步对经济增长的贡献份额,即扣除了资本和劳动之外的其他因素对经济增长的贡献。该指标数据来源于有关部门开展的科技进步贡献率评价的测算结果,是衡量科技竞争实力和科技转化为现实生产力的综合性指标。本指标体系中该指标使用的是报告期及之前4年间的平均水平,用以反映创新对国民经济发展的促进效果。   二、中国创新指数编制方法   (一)确定指标权重   在比较国内外赋权方法优劣的基础上,本课题采用“逐级等权法”进行权数的分配,即各领域的权数均为1/4;在某一领域内,指标对所属领域的权重为1/n(n为该领域下指标的个数);因此,指标*终权数为1/4n。各指标的权数详见附表。   (二)计算指标增速   通常指标的增速或发展速度是以基期年份指标值作为基准进行比较的。在某一指标体系中,如果按照通常方法计算各指标的增速后进行加权平均,由于可能存在某些指标增速过高(或过低)的情况,这样就会造成指标增速之间不可比(即增速过高或过低的一些指标的作用掩盖了其他指标的作用),从而造成整个指标体系失真的现象。因此,必须采用对指标体系中各指标增速的范围进行控制的方法。一种较好的方法是将指标增速的基准值设定为该指标的两年平均值,这样计算出来的各指标增速的范围可以控制在[-200,200]的区间内。 本指标体系中,除“单位GDP能耗”是逆指标之外,其余20个指标都是正指标。逆指标取倒数后再计算指标增速。 各指标相邻年份的增长速度计算方法为:     (在计算指标体系中的某一个指标的定基发展速度时,如采用这一方法,其结果与通常方法一致,即指标当年的定基发展速度等于该指标上年的定基发展速度与当年发展速度的乘积除以100,当年的定基发展速度等于指标当年值乘以100与基期值之比。 这是由于:   附表 中国创新指标体系框架  分领域 指标名称 计量 单位 权数※ 创新 环境 (1/4)   1.1 劳动力中大专及以上学历人数 人/万人 1/5 1.2 人均GDP 元/人 1/5 1.3 理工科毕业生占适龄人口比重 % 1/5 1.4 科技拨款占财政拨款的比重 %  1/5 1.5 享受加计扣除减免税企业所占比重 % 1/5 创新 投入 (1/4)   2.1 每万人R&D人员全时当量 人年/万人 1/6 2.2 R&D经费占GDP比重 % 1/6 2.3 基础研究人员人均经费 万元/人年 1/6 2.4 企业R&D经费占主营业务收入比重 % 1/6 2.5 有研发机构的企业所占比重 % 1/6 2.6 开展产学研合作的企业所占比重 % 1/6 创新 产出 (1/4) 3.1 每万人科技论文数 篇/万人 1/5 3.2 每万名R&D人员专利授权数 件/万人年 1/5 3.3 发明专利授权数占专利授权数的比重 % 1/5 3.4 每百家企业商标拥有量 件/百家 1/5 3.5 每万名科技活动人员技术市场成交额 亿元/万人 1/5 创新 成效 (1/4) 4.1 新产品销售收入占主营业务收入的比重 % 1/5 4.2 高新技术产品出口额占货物出口额的比重 % 1/5 4.3 单位GDP能耗 吨标准煤/万元 1/5 4.4 人均主营业务收入 万元/人 1/5 4.5 科技进步贡献率 % 1/5 ※注:各分领域的权数均为1/4,某一分领域内指标对所属领域的权重为1/n(n为该领域指标数)。  

国家统计局社科文司首席统计师李胤解读2020年中国创新指数

2020年中国创新指数再创新高创新能力和水平持续提升 ——国家统计局社科文司首席统计师李胤解读2020年中国创新指数 日前,国家统计局《中国创新指数研究》课题组发布了2020年中国创新指数测算结果,国家统计局社科文司首席统计师李胤对此进行了解读。 从测算结果看,2020年中国创新指数达到242.6,比上年增长6.4%;在4个分领域的21个评价指标中,有19个指标指数与上年相比有所提高,其中,劳动力中大专及以上学历人数指数、理工科毕业生占适龄人口比重指数、享受加计扣除减免税企业所占比重指数、每万名R&D人员专利授权数指数、每百家企业商标拥有量指数、每万名科技活动人员技术市场成交额指数等6个指标指数均实现两位数增长。中国创新指数的走势表明,面对复杂严峻的国内外形势,特别是新冠肺炎疫情冲击等不利因素,我国坚持创新在现代化建设全局中的核心地位,深入实施创新驱动发展战略,创新能力和水平进一步提升,创新动能加速释放,为保持经济平稳较快增长和推进经济高质量发展提供了重要支撑。 一、创新环境不断优化 2020年创新环境指数值为266.3,比上年增长6.3%。由于受疫情影响,国家财政科技支出规模有所减小,导致科技拨款占财政拨款的比重指数出现下降,但该领域其他4个评价指标指数均实现增长。 加计扣除减免政策效果持续显现。随着提高扣除比例、扩大适用范围、优化申报程序等多项政策措施落地落实,企业政策受惠面扩大,政策认同度及减税力度不断提高。2020年,规模以上工业企业中受惠企业达7.1万家,比上年增长40.3%;减免税额达1713.4亿元,比上年增长22.4%;认为政策效果明显的企业占比达89.4%,比上年提高2.3个百分点。 理工科毕业生较快增加。理工科毕业生是科技创新的潜在资源,是《欧洲创新记分牌》等国际主流创新评价体系中的重要监测指标。2020年,我国理工农医类毕业生达243.4万人,比上年增加17.2万人;增幅达7.6%,创2013年以来的新高。 二、创新投入继续增加 2020年创新投入指数值为209.7,比上年增长5.4%,增幅较上年提高2.4个百分点。该领域的6个评价指标指数均实现不同程度增长。 研发投入保持较快增长。2020年,我国R&D经费投入达24393.1亿元,比上年增长10.2%,连续5年实现两位数增长,投入总量稳居世界第二;投入强度(R&D经费与GDP之比)为2.40%,比上年提高0.16个百分点,提升幅度创2010年以来的新高;投入强度在世界主要经济体中的排位已从2016年的第16位提升到第12位,接近OECD国家平均水平。R&D人员全时当量达523.5万人年,比上年增长9%,继续稳居全球*。 企业创新主体地位进一步巩固。2020年,我国企业R&D经费达到18673.8亿元,比上年增长10.4%;其中规模以上工业企业R&D经费15271.3亿元,比上年增长9.3%;企业R&D经费对全社会R&D经费增长的贡献达77.9%,比上年提高9.4个百分点。在规模以上工业企业中有20.8万家开展了技术创新活动,占比为52.1%,首次突破50%,比上年提高2.5个百分点。 三、创新产出较快增长 2020年创新产出指数值为319.8,比上年增长8.5%,指数水平居4个分领域之首。该领域5个评价指标指数中,除发明专利授权数占专利授权数的比重指数由于发明专利授权增幅显著低于专利授权增幅而出现下降外,其他4个指标指数均实现增长。 创新产出硕果累累。2020年,我国国内专利授权数达352.1万件,比上年大幅增长42.3%;其中发明专利授权44.1万件,增长22.1%;共发表科技论文195.2万篇,增长0.3%。企业品牌建设不断推进,截至2020年底,大中型工业企业拥有注册商标61.6万件,比上年增长14.5%。 技术市场快速发展。2020年,我国技术市场成交合同金额达28251.5亿元,比上年增长26.1%。技术交易额的快速增长表明技术转移转化在不断加速。2020年每万名科技活动人员平均技术市场成交额为21.9亿元,比上年增长19.1%,增幅比上年提高2.4个百分点;每万名科技活动人员技术市场成交额指数达582.3(以2005年为100),指数值居全部21个评价指标的首位。 四、创新成效进一步显现 2020年创新成效指数值为174.7,比上年增长3.8%,增幅较上年提高1个百分点。该领域的5个评价指标指数均实现不同程度增长。 新产品销售再创佳绩。2020年,我国大中型工业企业实现新产品销售收入18.3万亿元,与主营业务收入之比为27.4%,比上年提高2.5个百分点,占比创历史新高。其中,达到国际市场水平的新产品销售收入为2.5万亿元,比上年增长6.3%;达到国内市场水平的新产品销售收入为6.5万亿元,增长7.3%。 能耗水平继续下降。科技创新进一步推动绿色发展。据初步核算,2020年,我国能源消费总量为49.8亿吨标准煤,比上年增长2.2%;煤炭消费量占能源消费总量的56.8%,比上年下降0.9个百分点;天然气、水电、核电、风电等清洁能源消费量占能源消费总量的24.3%,比上年提高1个百分点。按可比价格计算,单位GDP能耗比上年下降0.1%。 综上所述,2020年中国创新指数显示,我国创新能力和水平不断提高。但要看到,我国基础科学研究短板依然突出,重大原创性成果缺乏、关键核心技术受制于人的局面没有得到根本性改变;科技成果转化能力还不强,人才发展和激励机制有待进一步健全。下一步,要进一步贯彻落实创新驱动发展战略,全面塑造发展新优势,加快推进科技强国建设。

2021年1—9月份全国规模以上工业企业利润同比增长44.7% 两年平均增长18.8%

  1—9月份,全国规模以上工业企业实现利润总额63440.8亿元,同比增长44.7%(按可比口径计算,详见附注二),比2019年1—9月份增长41.2%,两年平均增长18.8%。   1—9月份,规模以上工业企业中,国有控股企业实现利润总额19850.5亿元,同比增长77.9%;股份制企业实现利润总额45209.0亿元,增长50.5%;外商及港澳台商投资企业实现利润总额16978.0亿元,增长31.7%;私营企业实现利润总额18606.3亿元,增长30.7%。   1—9月份,采矿业实现利润总额7006.9亿元,同比增长1.62倍;制造业实现利润总额52986.4亿元,增长42.9%;电力、热力、燃气及水生产和供应业实现利润总额3447.5亿元,下降15.2%。   1—9月份,在41个工业大类行业中,35个行业利润总额同比增长,1个行业扭亏为盈, 5个行业下降。主要行业利润情况如下:石油、煤炭及其他燃料加工业利润总额同比增长9.30倍,石油和天然气开采业增长2.67倍,煤炭开采和洗选业增长1.72倍,有色金属冶炼和压延加工业增长1.62倍,黑色金属冶炼和压延加工业增长1.45倍,化学原料和化学制品制造业增长1.27倍,计算机、通信和其他电子设备制造业增长38.7%,通用设备制造业增长17.9%,专用设备制造业增长17.8%,电气机械和器材制造业增长16.0%,非金属矿物制品业增长14.7%,纺织业增长1.4%,汽车制造业增长1.2%,农副食品加工业下降7.1%,电力、热力生产和供应业下降24.6%。   1—9月份,规模以上工业企业实现营业收入91.16万亿元,同比增长22.2%;发生营业成本76.33万亿元,增长21.3%;营业收入利润率为6.96%,同比提高1.09个百分点。   9月末,规模以上工业企业资产总计136.79万亿元,同比增长9.1%;负债合计77.06万亿元,增长8.2%;所有者权益合计59.73万亿元,增长10.4%;资产负债率为56.3%,同比降低0.5个百分点。   9月末,规模以上工业企业应收账款18.32万亿元,同比增长11.5%;产成品存货5.15万亿元,增长13.7%。   1—9月份,规模以上工业企业每百元营业收入中的成本为83.73元,同比减少0.57元;每百元营业收入中的费用为8.41元,同比减少0.55元。   9月末,规模以上工业企业每百元资产实现的营业收入为92.2元,同比增加9.7元;人均营业收入为165.4万元,同比增加30.3万元;产成品存货周转天数为17.3天,同比减少1.5天;应收账款平均回收期为51.2天,同比减少3.8天。   9月份,规模以上工业企业实现利润总额7387.4亿元,同比增长16.3%。    表1  2021年1—9月份规模以上工业企业主要财务指标  分 组 营业收入 营业成本 利润总额 1-9月 同比增长 1-9月 同比增长 1-9月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 911623.9 22.2 763321.0 21.3 63440.8 44.7 其中:采矿业 38391.9 36.0 25489.7 21.5 7006.9 161.8    制造业 805478.0 22.1 676968.0 21.5 52986.4 42.9    电力、热力、燃气及水生产和供应业 67754.0 15.7 60863.3 18.9 3447.5 -15.2 其中:国有控股企业 237077.5 23.0 191610.5 20.9 19850.5 77.9 其中:股份制企业 678756.6 23.8 568809.0 22.8 45209.0 50.5    外商及港澳台商投资企业 207329.9 17.6 172758.0 17.3 16978.0 31.7 其中:私营企业 357137.7 22.1 308062.4 21.8 18606.3 30.7 注: 1.经济类型分组之间存在交叉,故各经济类型企业数据之和大于总计。 2.本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。  表2  2021年1—9月份规模以上工业企业经济效益指标  分 组 营业收入 利润率 每百元营业收入中的成本 每百元营业收入中的费用 每百元资产实现的营业收入 人均营业 收入 资产 负债率 产成品存货周转 天数 应收账款 平均回收期 1-9月 1-9月 1-9月 9月末 9月末 9月末 9月末 9月末 (%) (元) (元) (元) (万元/人) (%) (天) (天) 总计 6.96 83.73 8.41 92.2 165.4 56.3 17.3 51.2 其中:采矿业 18.25 66.39 10.76 47.2 121.4 59.6 12.2 38.7    制造业 6.58 84.05 8.48 108.5 163.0 55.3 18.9 52.2    电力、热力、燃气及水生产和供应业 5.09 89.83 6.20 41.0 268.4 59.3 0.9 47.4 其中:国有控股企业 8.37 80.82 7.23 63.8 254.7 57.0 12.6 40.9 其中:股份制企业 6.66 83.80 8.50 89.8 164.5 57.1 17.5 48.5    外商及港澳台商投资企业 8.19 83.33 8.45 101.7 168.9 53.4 17.6 62.9 其中:私营企业 5.21 86.26 8.37 128.6 135.7 58.3 18.5 47.9  表3  2021年1—9月份规模以上工业企业主要财务指标(分行业)  行 业 营业收入 营业成本 利润总额 1-9月 同比增长 1-9月 同比增长 1-9月 同比增长 (亿元) (%) (亿元) (%) (亿元) (%) 总计 911623.9 22.2 763321.0 21.3 63440.8 44.7  煤炭开采和洗选业 21131.0 44.6 13504.3 28.8 4094.0 172.2  石油和天然气开采业 6491.0 33.3 3915.9 9.3 1519.8 267.2  黑色金属矿采选业 4418.1 48.3 3190.9 35.9 727.9 145.8  有色金属矿采选业 2172.9 15.3 1486.7 9.7 378.4 57.0  非金属矿采选业 2829.5 11.3 2105.0 9.4 285.6 25.9  开采专业及辅助性活动 1340.6 0.8 1279.5 0.3 0.9 (注1)  其他采矿业 8.8 35.4 7.3 52.1 0.3 -25.0  农副食品加工业 38350.7 14.0 35138.9 15.0 1196.6 -7.1  食品制造业 15149.2 9.7 11925.2 11.2 1144.5 -0.6  酒、饮料和精制茶制造业 11803.0 13.4 8083.4 11.8 2013.6 21.3  烟草制品业 9970.9 7.1 2934.6 2.7 1314.3 5.0  纺织业 18142.0 12.8 16079.3 13.4 732.8 1.4  纺织服装、服饰业 10457.2 9.0 8978.1 9.0 456.9 5.8  皮革、毛皮、羽毛及其制品和制鞋业 7865.1 8.5 6831.9 8.7 403.7 3.9  木材加工和木、竹、藤、棕、草制品业 6703.2 13.0 6043.0 13.1 235.5 9.4  家具制造业 5628.6 18.0 4701.4 17.9 294.0 20.2  造纸和纸制品业 10819.0 18.0 9276.2 18.0 648.4 34.4  印刷和记录媒介复制业 5199.7 12.7 4395.4 13.4 273.9 -0.6  文教、工美、体育和娱乐用品制造业 10145.9 17.8 8820.0 17.9 462.9 18.4  石油、煤炭及其他燃料加工业 39965.6 32.6 32129.6 26.4 2480.3 930.0  化学原料和化学制品制造业 59229.8 32.8 48346.2 29.0 5839.1 126.8  医药制造业 21291.0 24.4 11239.2 14.9 4525.3 80.6  化学纤维制造业 7441.8 33.3 6584.6 27.7 471.4 317.9  橡胶和塑料制品业 20732.8 17.1 17503.0 18.3 1196.0 5.0  非金属矿物制品业 46627.3 16.8 38680.7 17.0 3696.6 14.7  黑色金属冶炼和压延加工业 72407.1 40.7 66027.9 38.1 3665.8 144.8  有色金属冶炼和压延加工业 50476.1 35.8 46368.9 33.1 2282.3 162.0  金属制品业 33628.4 27.7 29662.1 27.9 1450.3 35.7  通用设备制造业 33737.4 20.3 27775.5 20.8 2291.8 17.9  专用设备制造业 26247.5 17.4 20860.4 18.2 2113.8 17.8  汽车制造业 61679.0 11.3 52714.0 12.4 3799.7 1.2  铁路、船舶、航空航天和其他运输设备制造业 8996.8 14.0 7683.0 14.8 430.5 5.0  电气机械和器材制造业 59284.3 27.5 50747.5 29.4 3123.7 16.0  计算机、通信和其他电子设备制造业 98579.0 16.3 84801.9 14.6 5472.6 38.7  仪器仪表制造业 6241.9 18.9 4692.4 19.3 640.2 14.5  其他制造业 1413.5 17.6 1190.9 17.9 76.2 17.2  废弃资源综合利用业 6279.5 61.1 5929.9 63.2 205.8 49.9  金属制品、机械和设备修理业 984.6 1.8 823.0 -0.2 48.1 7.8  电力、热力生产和供应业 56916.9 14.2 51852.5 17.8 2480.1 -24.6  燃气生产和供应业 8044.5 27.1 6984.0 28.3 645.1 31.9  水的生产和供应业 2792.6 16.6 2026.8 17.5 322.3 11.8 注: 1. 开采专业及辅助性活动上年同期亏损5.9亿元。 2. 本表部分指标存在总计不等于分项之和情况,是数据四舍五入所致,未作机械调整。     附注:   一、指标解释及相关说明   1、利润总额:指企业在生产经营过程中各种收入扣除各种耗费后的盈余,反映企业在报告期内实现的盈亏总额。   2、营业收入:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动形成的经济利益流入。包括主营业务收入和其他业务收入。   3、营业成本:指企业从事销售商品、提供劳务和让渡资产使用权等生产经营活动发生的实际成本。包括主营业务成本和其他业务成本。营业成本应当与营业收入进行配比。   4、资产总计:指企业过去的交易或者事项形成的、由企业拥有或者控制的、预期会给企业带来经济利益的资源。   5、负债合计:指企业过去的交易或者事项形成的、预期会导致经济利益流出企业的现时义务。   6、所有者权益合计:指企业资产扣除负债后由所有者享有的剩余权益。   7、应收账款:指资产负债表日以摊余成本计量的,企业因销售商品、提供服务等经营活动应收取的款项。   8、产成品存货:指企业报告期末已经加工生产并完成全部生产过程、可以对外销售的制成产品。   9、营业收入利润率=利润总额÷营业收入×100%,单位:%。   10、每百元营业收入中的成本=营业成本÷营业收入×100,单位:元。   11、每百元营业收入中的费用=(销售费用+管理费用+研发费用+财务费用)÷营业收入×100,单位:元。   12、每百元资产实现的营业收入=营业收入÷平均资产÷累计月数×12×100,单位:元。   13、人均营业收入=营业收入÷平均用工人数÷累计月数×12,单位:万元/人。   14、资产负债率=负债合计÷资产总计×100%,单位:%。   15、产成品存货周转天数=360×平均产成品存货÷营业成本×累计月数÷12,单位:天。   16、应收账款平均回收期=360×平均应收账款÷营业收入×累计月数÷12,单位:天。   17、两年平均增速是指以2019年相应同期数为基数,采用几何平均的方法计算的增速。   18、在各表的利润总额同比增长栏中,标“注”的表示上年同期利润总额为负数,即亏损;数值为正数的表明利润同比增长;数值在0至-100%之间(不含0)的表明利润同比下降;下降幅度超过100%的表明由上年同期盈利转为本期亏损;数值为0的表明利润同比持平。   二、规模以上工业企业利润总额、营业收入等指标的增速均按可比口径计算。报告期数据与上年所公布的同指标数据之间有不可比因素,不能直接相比计算增速。其主要原因是:(一)根据统计制度,每年定期对规模以上工业企业调查范围进行调整。每年有部分企业达到规模标准纳入调查范围,也有部分企业因规模变小而退出调查范围,还有新建投产企业、破产、注(吊)销企业等变化。(二)加强统计执法,对统计执法检查中发现的不符合规模以上工业统计要求的企业进行了清理,对相关基数依规进行了修正。(三)加强数据质量管理,剔除跨地区、跨行业重复统计数据。   三、统计范围   规模以上工业企业,即年主营业务收入为2000万元及以上的工业法人单位。   四、调查方法   规模以上工业企业财务状况报表按月进行全面调查(1月份数据免报)。   五、行业分类标准   执行国民经济行业分类标准(GB/T4754-2017),具体请参见http://www.stats.gov.cn/tjsj/tjbz/hyflbz/。 

2021年10月中旬流通领域重要生产资料市场价格变动情况

中国统计信息服务中心 卓创资讯   据对全国流通领域9大类50种重要生产资料市场价格的监测显示,2021年10月中旬与10月上旬相比,36种产品价格上涨,12种下降,2种持平。 2021年10月中旬流通领域重要生产资料市场价格变动情况 产品名称单位本期价格(元)比上期
价格涨跌(元)涨跌幅 (%)
一、黑色金属    
螺纹钢(Φ16-25mm,HRB400E)吨5755.8-144.6-2.5
线材(Φ6.5mm,HPB300)吨5998.9-144.6-2.4
普通中板(20mm,Q235)吨5881.95.60.1
热轧普通薄板(3mm,Q235)吨5941.7-52.2-0.9
无缝钢管(219*6,20#)吨6527.071.41.1
角钢(5#)吨5820.5-27.6-0.5
二、有色金属    
电解铜(1#)吨72719.12823.14.0
铝锭(A00)吨23447.5780.83.4
铅锭(1#)吨15021.9546.93.8
锌锭(0#)吨25160.02230.09.7
三、化工产品    
硫酸(98%)吨926.3-63.7-6.4
烧碱(液碱,32%)吨1596.2226.216.5
甲醇(优等品)吨3991.3376.810.4
纯苯(石油苯,工业级)吨8476.8236.82.9
苯乙烯(一级品)吨9752.6199.82.1
聚乙烯(LLDPE,7042)吨10040.0-46.1-0.5
聚丙烯(T30S)吨9917.2-167.8-1.7
聚氯乙烯(SG5)吨13271.5263.22.0
顺丁胶(BR9000)吨15159.41429.410.4
涤纶长丝(FDY150D/96F)吨8931.3656.37.9
四、石油天然气    
液化天然气(LNG)吨6385.5483.48.2
液化石油气(LPG)吨6154.3444.37.8
汽油(95#国VI)吨8909.9590.37.1
汽油(92#国VI)吨8665.8579.87.2
柴油(0#国VI)吨7842.9402.75.4
石蜡(58#半)吨7852.1152.12.0
五、煤炭    
无烟煤(洗中块)吨2593.8663.834.4
普通混煤(4500大卡)吨1556.8418.836.8
山西大混(5000大卡)吨1759.4422.531.6
山西优混(5500大卡)吨1820.6422.330.2
大同混煤(5800大卡)吨1880.9466.733.0
焦煤(主焦煤)吨4100.00.00.0
焦炭(二级冶金焦)吨4086.00.00.0
六、非金属建材    
普通硅酸盐水泥(P.O 42.5袋装)吨665.762.810.4
普通硅酸盐水泥(P.O 42.5散装)吨616.328.04.8
浮法平板玻璃(4.8/5mm)吨2808.6-41.6-1.5
七、农产品(主要用于加工)    
稻米(粳稻米)吨3843.5-29.5-0.8
小麦(国标三等)吨2633.823.80.9
玉米(黄玉米二等)吨2514.42.90.1
棉花(皮棉,白棉三级)吨21582.6100.20.5
生猪(外三元)千克12.82.321.9
大豆(黄豆)吨5383.8100.51.9
豆粕(粗蛋白含量≥43%)吨3651.3-116.7-3.1
花生(油料花生米)吨8266.7-16.6-0.2
八、农业生产资料    
尿素(小颗料)吨3144.4139.44.6
复合肥(硫酸钾复合肥,氮磷钾含量45%)吨3217.210.90.3
农药(草甘膦,95%原药)吨77937.55437.57.5
九、林产品    
天然橡胶(标准胶SCRWF)吨13868.3499.13.7
纸浆(漂白化学浆)吨4945.0-155.0-3.0
瓦楞纸(高强)吨4550.2205.24.7
注:上期为2021年10月上旬。   附注   1.指标解释   流通领域重要生产资料市场价格,是指重要生产资料经营企业的批发和销售价格。与出厂价格不同,生产资料市场价格既包含出厂价格,也包含有经营企业的流通费用、利润和税费等。出厂价格与市场价格互相影响,存在时滞,两者的变动趋势在某一时间段内有可能会出现不完全一致的情况。   2.监测内容   流通领域重要生产资料市场价格监测内容包括9大类50种产品的价格。类别与产品规格说明详见附表。   3.监测范围   监测范围涵盖全国31个省(区、市)300多个交易市场的近2000家批发商、代理商、经销商等经营企业。   4.监测方法   价格监测方法包括信息员现场采价,电话、即时通讯工具和电子邮件询价等。   5.涨跌个数的统计   产品价格上涨、下降、持平个数按照涨跌幅(%)进行统计。   6.发布日期   每月4日、14日、24日发布上一旬数据,节假日顺延。 附表:流通领域重要生产资料市场价格监测产品规格说明表 序号监测产品规格型号说明 一、黑色金属 1  螺纹钢Φ16-25mm,HRB400E屈服强度≥400MPa 2线材Φ6.5mm,HPB300屈服强度≥300MPa 3普通中板20mm,Q235屈服强度≥235MPa 4热轧普通薄板3mm,Q235屈服强度≥235MPa 5无缝钢管219*6,20#20#钢材,屈服强度≥245MPa 6角钢5#屈服强度≥235MPa 二、有色金属 7电解铜1#铜与银质量分数≥99.95% 8铝锭A00铝质量分数≥99.7% 9铅锭1#铅质量分数≥99.994%
10锌锭0#锌质量分数≥99.995% 三、化工产品 11 硫酸98%H2SO4质量分数≥98%
12烧碱(液碱)32%NaOH质量分数≥32%的离子膜碱
13甲醇优等品水质量含量≤0.10%
14纯苯(石油苯)工业级苯纯度≥99.8%
15苯乙烯一级品纯度≥99.5%
16聚乙烯(LLDPE)7042熔指:2.0±0.5g/10min
17聚丙烯T30S熔指:3.0±0.9g/10min
18聚氯乙烯SG5K值:66-68
19顺丁胶BR9000块状、乳白色,灰分≤0.20%
20涤纶长丝FDY150D/96F150旦,AA级 四、石油天然气 21液化天然气LNG甲烷含量≥75%,密度≥430kg/m3
22液化石油气LPG饱和蒸汽压1380-1430kPa
23汽油95#国VI国VI标准
24汽油92#国VI国VI标准
25柴油0#国VI国VI标准
26石蜡58#半熔点不低于58℃ 五、煤炭 27无烟煤洗中块挥发分≤8%
28普通混煤4500大卡山西粉煤与块煤的混合煤,热值4500大卡
29山西大混5000大卡质量较好的混煤,热值5000大卡
30山西优混5500大卡优质的混煤,热值5500大卡
31大同混煤5800大卡大同产混煤,热值5800大卡
32焦煤 主焦煤含硫量<1% 33焦炭二级冶金焦12.01%≤灰分≤13.50% 六、非金属建材 34普通硅酸盐水泥P.O 42.5袋装抗压强度42.5MPa 35普通硅酸盐水泥P.O 42.5散装抗压强度42.5MPa 36浮法平板玻璃4.8/5mm厚度为4.8/5mm的无色透明玻璃 七、农产品(主要用于加工) 37稻米粳稻米杂质≤0.25%,水分≤15.5% 38小麦国标三等杂质≤1.0%,水分≤12.5% 39玉米黄玉米二等杂质≤1.0%,水分≤14.0% 40棉花(皮棉)白棉三级纤维长度≥28mm,白或乳白色 41生猪外三元三种外国猪杂交的肉食猪 42大豆黄豆杂质≤1.0%,水分≤13.0% 43豆粕粗蛋白含量≥43%粗蛋白≥43%,水分≤13.0% 44花生油料花生米杂质≤1.0%,水分≤9.0% 八、农业生产资料 45尿素小颗料总氮≥46%,水分≤1.0% 46复合肥硫酸钾复合肥氮磷钾含量45% 47农药(草甘膦)95%原药草甘膦质量分数≥95% 九、林产品 48天然橡胶标准胶SCRWF杂质含量≤0.05%,灰分≤0.5% 49纸浆漂白化学浆亮度≥80%,黏度≥600cm³/g 50瓦楞纸高强80-160g/m2

利用Theme自定义Activity间的切换动画

利用Theme自定义Activity间的切换动画

 

大多Android系统默认Activity间的动画切换效果为,右边滑入,左边滑出;有时候我们的需求可能是要求所有Activity的切换为淡入淡出的效果,这时候就可能需要改变一下默认的切换风格。

下面开始实现:

首先在res文件夹下建立anim文件夹,然后在里面建立fade_in.xml和fade_out.xml两个动画资源

fade_in.xml

 

  1. <?xml version=“1.0” encoding=”utf-8″?>  
  2. <alpha xmlns:android=“http://schemas.android.com/apk/res/android”  
  3.     android:duration=“300”  
  4.     android:fromAlpha=“0.0”  
  5.     android:interpolator=“@android:anim/accelerate_interpolator”  
  6.     android:toAlpha=“1.0” />  

fade_out.xml

 

 

  1. <?xml version=“1.0” encoding=”utf-8″?>  
  2. <alpha xmlns:android=“http://schemas.android.com/apk/res/android”  
  3.     android:duration=“300”  
  4.     android:fromAlpha=“1.0”  
  5.     android:interpolator=“@android:anim/accelerate_interpolator”  
  6.     android:toAlpha=“0.0” />  

然后在values文件夹下的styles.xml中的resources标签内写:

 

 

  1. <style name=“Anim_fade” parent=”android:Theme.NoTitleBar”>  
  2.        <item name=“android:windowAnimationStyle”>@style/fade</item>  
  3.    </style>  
  4.    <style name=“fade” parent=”@android:style/Animation.Activity”>  
  5.        <item name=“android:activityOpenEnterAnimation”>@anim/fade_in</item>  
  6.        <item name=“android:activityOpenExitAnimation”>@anim/fade_out</item>  
  7.        <item name=“android:activityCloseEnterAnimation”>@anim/fade_in</item>  
  8.        <item name=“android:activityCloseExitAnimation”>@anim/fade_out</item>  
  9.    </style>  

*后一步在AndroidManifest.xml中的Activity的声明上加入android:theme=”@style/Anim_fade”

 

 

  1. <?xml version=“1.0” encoding=”utf-8″?>  
  2. <manifest xmlns:android=“http://schemas.android.com/apk/res/android”  
  3.     package=“com.example.customanimationforactivity”  
  4.     android:versionCode=“1”  
  5.     android:versionName=“1.0” >  
  6.     <uses-sdk  
  7.         android:minSdkVersion=“10”  
  8.         android:targetSdkVersion=“10” />  
  9.     <application  
  10.         android:allowBackup=“true”  
  11.         android:icon=“@drawable/ic_launcher”  
  12.         android:label=“@string/app_name”  
  13.         android:theme=“@android:style/Theme.NoTitleBar” >  
  14.         <activity  
  15.             android:name=“com.example.customanimationforactivity.MainActivity”  
  16.             android:label=“@string/app_name”  
  17.             android:theme=“@style/Anim_fade” >  
  18.             <intent-filter>  
  19.                 <action android:name=“android.intent.action.MAIN” />  
  20.                 <category android:name=“android.intent.category.LAUNCHER” />  
  21.             </intent-filter>  
  22.         </activity>  
  23.         <activity android:name=“.AppActivity” android:theme=”@style/Anim_fade” >  
  24.         </activity>  
  25.     </application>  
  26. </manifest>  

贴下Splash Activity的代码:

 

 

  1. package com.example.customanimationforactivity;  
  2. import android.app.Activity;  
  3. import android.content.Intent;  
  4. import android.os.Bundle;  
  5. import android.os.Handler;  
  6. public class MainActivity extends Activity  
  7. {
  8.     private Handler handler = new Handler();  
  9.     @Override  
  10.     protected void onCreate(Bundle savedInstanceState)  
  11.     {
  12.         super.onCreate(savedInstanceState);  
  13.         setContentView(R.layout.activity_main);
  14.         handler.postDelayed(new Runnable()  
  15.         {
  16.             @Override  
  17.             public void run()  
  18.             {
  19.                 Intent intent = new Intent(MainActivity.this, AppActivity.class);  
  20.                 startActivity(intent);
  21.                 finish();
  22.             }
  23.         }, 1000);  
  24.     }
  25. }

 

彻底理解ThreadLocal

彻底理解ThreadLocal

ThreadLocal是什么

早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。

当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立地改变自己的副本,而不会影响其它线程所对应的副本。

从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思。

所以,在Java中编写线程局部变量的代码相对来说要笨拙一些,因此造成线程局部变量没有在Java开发者中得到很好的普及。

ThreadLocal的接口方法

ThreadLocal类接口很简单,只有4个方法,我们先来了解一下:

  • void set(Object value)设置当前线程的线程局部变量的值。
  • public Object get()该方法返回当前线程所对应的线程局部变量。
  • public void remove()将当前线程局部变量的值删除,目的是为了减少内存的占用,该方法是JDK 5.0新增的方法。需要指出的是,当线程结束后,对应该线程的局部变量将自动被垃圾回收,所以显式调用该方法清除线程的局部变量并不是必须的操作,但它可以加快内存回收的速度。
  • protected Object initialValue()返回该线程局部变量的初始值,该方法是一个protected的方法,显然是为了让子类覆盖而设计的。这个方法是一个延迟调用方法,在线程第1次调用get()或set(Object)时才执行,并且仅执行1次。ThreadLocal中的缺省实现直接返回一个null。

值得一提的是,在JDK5.0中,ThreadLocal已经支持泛型,该类的类名已经变为ThreadLocal<T>。API方法也相应进行了调整,新版本的API方法分别是void set(T value)、T get()以及T initialValue()。

ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单:在ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素的键为线程对象,而值对应线程的变量副本。我们自己就可以提供一个简单的实现版本:

 

  1. package com.test;  
  2. public class TestNum {  
  3.     // ①通过匿名内部类覆盖ThreadLocal的initialValue()方法,指定初始值  
  4.     private static ThreadLocal<Integer> seqNum = new ThreadLocal<Integer>() {  
  5.         public Integer initialValue() {  
  6.             return 0;  
  7.         }
  8.     };
  9.     // ②获取下一个序列值  
  10.     public int getNextNum() {  
  11.         seqNum.set(seqNum.get() + 1);  
  12.         return seqNum.get();  
  13.     }
  14.     public static void main(String[] args) {  
  15.         TestNum sn = new TestNum();  
  16.         // ③ 3个线程共享sn,各自产生序列号  
  17.         TestClient t1 = new TestClient(sn);  
  18.         TestClient t2 = new TestClient(sn);  
  19.         TestClient t3 = new TestClient(sn);  
  20.         t1.start();
  21.         t2.start();
  22.         t3.start();
  23.     }
  24.     private static class TestClient extends Thread {  
  25.         private TestNum sn;  
  26.         public TestClient(TestNum sn) {  
  27.             this.sn = sn;  
  28.         }
  29.         public void run() {  
  30.             for (int i = 0; i < 3; i++) {  
  31.                 // ④每个线程打出3个序列值  
  32.                 System.out.println(“thread[” + Thread.currentThread().getName() + “] –> sn[”  
  33.                          + sn.getNextNum() + “]”);  
  34.             }
  35.         }
  36.     }
  37. }

 

通常我们通过匿名内部类的方式定义ThreadLocal的子类,提供初始的变量值,如例子中①处所示。TestClient线程产生一组序列号,在③处,我们生成3个TestClient,它们共享同一个TestNum实例。运行以上代码,在控制台上输出以下的结果:

 

thread[Thread-0] –> sn[1]
thread[Thread-1] –> sn[1]
thread[Thread-2] –> sn[1]
thread[Thread-1] –> sn[2]
thread[Thread-0] –> sn[2]
thread[Thread-1] –> sn[3]
thread[Thread-2] –> sn[2]
thread[Thread-0] –> sn[3]
thread[Thread-2] –> sn[3]

 

考察输出的结果信息,我们发现每个线程所产生的序号虽然都共享同一个TestNum实例,但它们并没有发生相互干扰的情况,而是各自产生独立的序列号,这是因为我们通过ThreadLocal为每一个线程提供了单独的副本。

 

Thread同步机制的比较

ThreadLocal和线程同步机制相比有什么优势呢?ThreadLocal和线程同步机制都是为了解决多线程中相同变量的访问冲突问题。

在同步机制中,通过对象的锁机制保证同一时间只有一个线程访问变量。这时该变量是多个线程共享的,使用同步机制要求程序慎密地分析什么时候对变量进行读写,什么时候需要锁定某个对象,什么时候释放对象锁等繁杂的问题,程序设计和编写难度相对较大。

而ThreadLocal则从另一个角度来解决多线程的并发访问。ThreadLocal会为每一个线程提供一个独立的变量副本,从而隔离了多个线程对数据的访问冲突。因为每一个线程都拥有自己的变量副本,从而也就没有必要对该变量进行同步了。ThreadLocal提供了线程安全的共享对象,在编写多线程代码时,可以把不安全的变量封装进ThreadLocal。

由于ThreadLocal中可以持有任何类型的对象,低版本JDK所提供的get()返回的是Object对象,需要强制类型转换。但JDK 5.0通过泛型很好的解决了这个问题,在一定程度地简化ThreadLocal的使用,代码清单 9 2就使用了JDK 5.0新的ThreadLocal<T>版本。

概括起来说,对于多线程资源共享的问题,同步机制采用了“以时间换空间”的方式,而ThreadLocal采用了“以空间换时间”的方式。前者仅提供一份变量,让不同的线程排队访问,而后者为每一个线程都提供了一份变量,因此可以同时访问而互不影响。

Spring使用ThreadLocal解决线程安全问题我们知道在一般情况下,只有无状态的Bean才可以在多线程环境下共享,在Spring中,*大部分Bean都可以声明为singleton作用域。就是因为Spring对一些Bean(如RequestContextHolder、TransactionSynchronizationManager、LocaleContextHolder等)中非线程安全状态采用ThreadLocal进行处理,让它们也成为线程安全的状态,因为有状态的Bean就可以在多线程中共享了。

一般的Web应用划分为展现层、服务层和持久层三个层次,在不同的层中编写对应的逻辑,下层通过接口向上层开放功能调用。在一般情况下,从接收请求到返回响应所经过的所有程序调用都同属于一个线程,如图9‑2所示:

通通透透理解ThreadLocal

  同一线程贯通三层这样你就可以根据需要,将一些非线程安全的变量以ThreadLocal存放,在同一次请求响应的调用线程中,所有关联的对象引用到的都是同一个变量。

下面的实例能够体现Spring对有状态Bean的改造思路:

代码清单3 TestDao:非线程安全

 

  1. package com.test;  
  2. import java.sql.Connection;  
  3. import java.sql.SQLException;  
  4. import java.sql.Statement;  
  5. public class TestDao {  
  6.     private Connection conn;// ①一个非线程安全的变量  
  7.     public void addTopic() throws SQLException {  
  8.         Statement stat = conn.createStatement();// ②引用非线程安全变量  
  9.         // …  
  10.     }
  11. }

 

 

由于①处的conn是成员变量,因为addTopic()方法是非线程安全的,必须在使用时创建一个新TopicDao实例(非singleton)。下面使用ThreadLocal对conn这个非线程安全的“状态”进行改造:

代码清单4 TestDao:线程安全

 

  1. package com.test;  
  2. import java.sql.Connection;  
  3. import java.sql.SQLException;  
  4. import java.sql.Statement;  
  5. public class TestDaoNew {  
  6.     // ①使用ThreadLocal保存Connection变量  
  7.     private static ThreadLocal<Connection> connThreadLocal = new ThreadLocal<Connection>();  
  8.     public static Connection getConnection() {  
  9.         // ②如果connThreadLocal没有本线程对应的Connection创建一个新的Connection,  
  10.         // 并将其保存到线程本地变量中。  
  11.         if (connThreadLocal.get() == null) {  
  12.             Connection conn = getConnection();
  13.             connThreadLocal.set(conn);
  14.             return conn;  
  15.         } else {  
  16.             return connThreadLocal.get();// ③直接返回线程本地变量  
  17.         }
  18.     }
  19.     public void addTopic() throws SQLException {  
  20.         // ④从ThreadLocal中获取线程对应的Connection  
  21.         Statement stat = getConnection().createStatement();
  22.     }
  23. }

 

 

不同的线程在使用TopicDao时,先判断connThreadLocal.get()是否是null,如果是null,则说明当前线程还没有对应的Connection对象,这时创建一个Connection对象并添加到本地线程变量中;如果不为null,则说明当前的线程已经拥有了Connection对象,直接使用就可以了。这样,就保证了不同的线程使用线程相关的Connection,而不会使用其它线程的Connection。因此,这个TopicDao就可以做到singleton共享了。

当然,这个例子本身很粗糙,将Connection的ThreadLocal直接放在DAO只能做到本DAO的多个方法共享Connection时不发生线程安全问题,但无法和其它DAO共用同一个Connection,要做到同一事务多DAO共享同一Connection,必须在一个共同的外部类使用ThreadLocal保存Connection。

 

ConnectionManager.java

  1. package com.test;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.SQLException;  
  5. public class ConnectionManager {  
  6.     private static ThreadLocal<Connection> connectionHolder = new ThreadLocal<Connection>() {  
  7.         @Override  
  8.         protected Connection initialValue() {  
  9.             Connection conn = null;  
  10.             try {  
  11.                 conn = DriverManager.getConnection(
  12.                         “jdbc:mysql://localhost:3306/test”, “username”,  
  13.                         “password”);  
  14.             } catch (SQLException e) {  
  15.                 e.printStackTrace();
  16.             }
  17.             return conn;  
  18.         }
  19.     };
  20.     public static Connection getConnection() {  
  21.         return connectionHolder.get();  
  22.     }
  23.     public static void setConnection(Connection conn) {  
  24.         connectionHolder.set(conn);
  25.     }
  26. }

 

 

java.lang.ThreadLocal<T>的具体实现

那么到底ThreadLocal类是如何实现这种“为每个线程提供不同的变量拷贝”的呢?先来看一下ThreadLocal的set()方法的源码是如何实现的:

 

  1. /** 
  2.     * Sets the current thread’s copy of this thread-local variable 
  3.     * to the specified value.  Most subclasses will have no need to 
  4.     * override this method, relying solely on the {@link #initialValue} 
  5.     * method to set the values of thread-locals. 
  6.     * 
  7.     * @param value the value to be stored in the current thread’s copy of 
  8.     *        this thread-local. 
  9.     */  
  10.    public void set(T value) {  
  11.        Thread t = Thread.currentThread();
  12.        ThreadLocalMap map = getMap(t);
  13.        if (map != null)  
  14.            map.set(this, value);  
  15.        else  
  16.            createMap(t, value);
  17.    }

在这个方法内部我们看到,首先通过getMap(Thread t)方法获取一个和当前线程相关的ThreadLocalMap,然后将变量的值设置到这个ThreadLocalMap对象中,当然如果获取到的ThreadLocalMap对象为空,就通过createMap方法创建。

线程隔离的秘密,就在于ThreadLocalMap这个类。ThreadLocalMap是ThreadLocal类的一个静态内部类,它实现了键值对的设置和获取(对比Map对象来理解),每个线程中都有一个独立的ThreadLocalMap副本,它所存储的值,只能被当前线程读取和修改。ThreadLocal类通过操作每一个线程特有的ThreadLocalMap副本,从而实现了变量访问在不同线程中的隔离。因为每个线程的变量都是自己特有的,完全不会有并发错误。还有一点就是,ThreadLocalMap存储的键值对中的键是this对象指向的ThreadLocal对象,而值就是你所设置的对象了。

为了加深理解,我们接着看上面代码中出现的getMap和createMap方法的实现:

 

  1. /** 
  2.  * Get the map associated with a ThreadLocal. Overridden in 
  3.  * InheritableThreadLocal. 
  4.  * 
  5.  * @param  t the current thread 
  6.  * @return the map 
  7.  */  
  8. ThreadLocalMap getMap(Thread t) {
  9.     return t.threadLocals;  
  10. }
  11. /** 
  12.  * Create the map associated with a ThreadLocal. Overridden in 
  13.  * InheritableThreadLocal. 
  14.  * 
  15.  * @param t the current thread 
  16.  * @param firstValue value for the initial entry of the map 
  17.  * @param map the map to store. 
  18.  */  
  19. void createMap(Thread t, T firstValue) {  
  20.     t.threadLocals = new ThreadLocalMap(this, firstValue);  
  21. }

接下来再看一下ThreadLocal类中的get()方法:

 

  1. /** 
  2.  * Returns the value in the current thread’s copy of this 
  3.  * thread-local variable.  If the variable has no value for the 
  4.  * current thread, it is first initialized to the value returned 
  5.  * by an invocation of the {@link #initialValue} method. 
  6.  * 
  7.  * @return the current thread’s value of this thread-local 
  8.  */  
  9. public T get() {  
  10.     Thread t = Thread.currentThread();
  11.     ThreadLocalMap map = getMap(t);
  12.     if (map != null) {  
  13.         ThreadLocalMap.Entry e = map.getEntry(this);  
  14.         if (e != null)  
  15.             return (T)e.value;  
  16.     }
  17.     return setInitialValue();  
  18. }

再来看setInitialValue()方法:

 

  1. /** 
  2.     * Variant of set() to establish initialValue. Used instead 
  3.     * of set() in case user has overridden the set() method. 
  4.     * 
  5.     * @return the initial value 
  6.     */  
  7.    private T setInitialValue() {  
  8.        T value = initialValue();
  9.        Thread t = Thread.currentThread();
  10.        ThreadLocalMap map = getMap(t);
  11.        if (map != null)  
  12.            map.set(this, value);  
  13.        else  
  14.            createMap(t, value);
  15.        return value;  
  16.    }

获取和当前线程绑定的值时,ThreadLocalMap对象是以this指向的ThreadLocal对象为键进行查找的,这当然和前面set()方法的代码是相呼应的。

进一步地,我们可以创建不同的ThreadLocal实例来实现多个变量在不同线程间的访问隔离,为什么可以这么做?因为不同的ThreadLocal对象作为不同键,当然也可以在线程的ThreadLocalMap对象中设置不同的值了。通过ThreadLocal对象,在多线程中共享一个值和多个值的区别,就像你在一个HashMap对象中存储一个键值对和多个键值对一样,仅此而已。

 

小结

ThreadLocal是解决线程安全问题一个很好的思路,它通过为每个线程提供一个独立的变量副本解决了变量并发访问的冲突问题。在很多情况下,ThreadLocal比直接使用synchronized同步机制解决线程安全问题更简单,更方便,且结果程序拥有更高的并发性。

ConnectionManager.java

  1. package com.test;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.SQLException;  
  5. public class ConnectionManager {  
  6.     private static ThreadLocal<Connection> connectionHolder = new ThreadLocal<Connection>() {  
  7.         @Override  
  8.         protected Connection initialValue() {  
  9.             Connection conn = null;  
  10.             try {  
  11.                 conn = DriverManager.getConnection(
  12.                         “jdbc:mysql://localhost:3306/test”, “username”,  
  13.                         “password”);  
  14.             } catch (SQLException e) {  
  15.                 e.printStackTrace();
  16.             }
  17.             return conn;  
  18.         }
  19.     };
  20.     public static Connection getConnection() {  
  21.         return connectionHolder.get();  
  22.     }
  23.     public static void setConnection(Connection conn) {  
  24.         connectionHolder.set(conn);
  25.     }
  26. }

后记

看到网友评论的很激烈,甚至关于ThreadLocalMap不是ThreadLocal里面的,而是Thread里面的这种评论都出现了,于是有了这个后记,下面先把jdk源码贴上,源码*有说服力了。

  1. /** 
  2.      * ThreadLocalMap is a customized hash map suitable only for 
  3.      * maintaining thread local values. No operations are exported 
  4.      * outside of the ThreadLocal class. The class is package private to 
  5.      * allow declaration of fields in class Thread.  To help deal with 
  6.      * very large and long-lived usages, the hash table entries use 
  7.      * WeakReferences for keys. However, since reference queues are not 
  8.      * used, stale entries are guaranteed to be removed only when 
  9.      * the table starts running out of space. 
  10.      */  
  11.     static class ThreadLocalMap {…}  

源码就是以上,这源码自然是在ThreadLocal里面的,有截图为证。%title插图%num

 

本文是自己在学习ThreadLocal的时候,一时兴起,深入看了源码,思考了此类的作用、使用范围,进而联想到对传统的synchronize共享变量线程安全的问题进行比较,而总结的博文,总结一句话就是一个是锁机制进行时间换空间,一个是存储拷贝进行空间换时间。

android的窗口机制分析——UI管理系统

android的窗口机制分析——UI管理系统

    Activity可以看做是整个Android系统的人机接口,它提供了一个窗口来绘制UI,每个Activity在启动时,我们都需要给它设置一个Content view,作为Activity所呈现的UI内容,这个过程是通过setContentView()方法来实现的。

众所周知,android系统中强化了view的概念,主要是体现在对view的管理上,Android中的view以2种形态存在,单一的View和多个View组成的ViewGroup。Content view是以ViewGroup的形式存在的,也就是说在一个Activity窗口中可以添加多个View,这样就实现了Android窗口系统的UI多样化。activity启动时给activity窗口设置的Content view 是从xml文件中解析出来的,那么android是怎么样对这个ContentView进行管理的呢,它的内部实现逻辑又是怎样的呢?

在进行分析之前,首先给出一个Activity的window和view系统的层级关系,这个层级关系就是在Activity设置完ContentView之后的状况。

如下图。

%title插图%num

下面来一一介绍各个层级的含义与作用

1.1  PhoneWindow

PhoneWindow是Android中的*基本的窗口系统,每个Activity 均会创建一个PhoneWindow对象,是Activity和整个View系统交互的接口。

1.2  DecorView

DecorView是当前Activity所有View的祖先,它并不会向用户呈现任何东西,它主要有如下几个功能,可能不全:

A.  Dispatch ViewRoot分发来的key、touch、trackball等外部事件;

B.  DecorView有一个直接的子View,我们称之为System Layout,这个View是从系统的Layout.xml中解析出的,它包含当前UI的风格,如是否带title、是否带process bar等。可以称这些属性为Window decorations。

C.  作为PhoneWindow与ViewRoot之间的桥梁,ViewRoot通过DecorView设置窗口属性。

1.3  System Layout

目前android根据用户需求预设了几种UI 风格,通过PhoneWindow通过解析预置的layout.xml来获得包含有不同Window decorations的layout,我们称之为System Layout,我们将这个System Layout添加到DecorView中,目前android提供了8种System Layout,如下图。

预设风格可以通过PhoneWindow方法requestFeature()来设置,需要注意的是这个方法需要在setContentView()方法调用之前调用。

1.4  Content Parent

Content Parent这个ViewGroup对象才是真真正正的ContentView的parent,我们的ContentView终于找到了寄主,它其实对应的是System Layout中的id为”content”的一个FrameLayout。这个FrameLayout对象包括的才是我们的Activity的layout(每个System Layout都会有这么一个id为”content”的一个FrameLayout)。

%title插图%num

1.5  Activity Layout

这个ActivityLayout便是我们需要向窗口设置的ContentView,现在我们发现其实它的地位很低,同时这一部分才是和user交互的UI部分,其上的几层并不能响应并完成user输入所期望达到的目的。

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速