All posts by dotte

图解金融2017金融干货全手册

2017年里

你看过的每一篇金融干货

都分门别类放在你面前

2017,图融陪你走过

2018,图融伴你前行

目录

– – – – –

1. 资产证券化

2. 银行及金融

3. 互联网金融

4. 金融科技

5. 私募和资管

6. 债券

7. 资本市场

8. 公司业务

9. 房地产

10. 跨境业务

11. 宏观经济

合 集

ABS最全合集

ABS入门

浅析 | 漫画解读 | SPV | 发行流程 | 储架发行

夹层投资 | ABS增信措施解析 | 增信措施设计

资产赎回 | 发行原因 | ABS各日期

收益权解析 | 分层和现金流安排

基础资产

资产包 | 基础资产 | 黑红池

REITs

漫画解析 | 全面解读 | 交易结构 | 反向吸收

税务分析 | 节税设计 | 基础资产估值 | 典型案例

真REITs产品 | 中国版REITs | 国内发展前途

长租公寓

市场前景 | 最全解析 | 深度分析

四大案例 | 信托合作 | 双SPV结构

消费信贷

最全解读 | 交易结构 | 两大案例

学费收入

市场分析 | 交易结构 | 高中学费

金融租赁

与CLO区别 | 操作流程

不良资产

前景分析 | 流程要点

车 贷

浅析 | 操作要点

房 企

RMBS | CMBS流程分析 | CMBS交易结构

CMBN | 租赁地产

PPP

业务流程 | 十问十答

银行私募

流程浅析 | 模式解读 | 银登非标转标

其 他

委外ABS | 明星ABS | 基础设施收费权ABS

物业费ABS | 信用证ABS | 贸易融资ABS

应收账款ABS | 城投公司ABS | 绿色ABS

 

保理及供应链金融

保理业务 | 保理融资 | 供应链金融保理

供应链金融交易结构 | 供应链金融风险环节

杠 杆

金融杠杆 | 去杠杆 | 去杠杆效果 | 委外和杠杆

同业存单

交易流程 | 套利方式 | 套利链条

金控及牌照

金控集团牌照整理 | 民企牌照 | 金控模式

十大金控集团 | 金融全牌照 | 银行系金融版图

监管政策

三套利 | 三套利影响结构 | MPA考核

非标业务监管政策 | 资金空转

融资租赁

产品设计 | 五大模式

投贷联动

三大模式 | 政策解读

银行业务

银登中心vs北金所 | 银行理财 | 银团贷款

债转股 | 表内表外业务 | 同业类信贷业务

不良贷款出表 | 委外解析 | 金融市场 | 银行缩表

信托业务

信托公司股东 | 信托风险 | 信托行业 | 信托登记办法

其 他

过桥贷款 | 明股实债 | 委外+嵌套+明股实债

支付清算 | 国企金融改革 | 期权vs期货

 

现金贷

现金贷 | 现金贷应对措施 | 现金贷新规解读

金交所

互金+地方金交所 | 金交所

网 贷

拍拍贷 | 网贷细则 | P2P备案

其 他

消金五大结构 | 互金+供应链金融

网联 | P2P存管

 

ICO | ICO禁止原因 | 区块链技术

区块链投资 | 比特币 | AI | 数字货币

第三方支付浅析 | 第三方支付最全解读

 

资管新规

资管产品类型 | 打破刚兑 | 各方意见总结

十大模式解读 | 大资管应对 | 大资管监管逻辑

资管嵌套 | 2018应对

私募基金

私募募投管退 | 私募基金实务 | 私募募集流程

私募基金税收(上) | 私募基金税收(中) | 私募基金税收(下)

资管产品税收

资管产品纳税难点 | 资管税56号文 | 资管增值税

ETF

浅析 | 最全解读

其 他

FOF | 并购基金 | 开放式&封闭式基金

创投基金 | 通道业务 | 证券投资信托

资产收益权 | 基金净值

 

债券品种 | 利率债vs信用债 | 私募EB

债券违约 | 私募可转债 | 可转债浅析

可转债+可交换债+可分离债 | 债券通

债转股浅析 | 债转股流程 | 宏观经济vs债券

中资美元债 | 地方债

 

合 集

资本市场业务解读

上市公司

财务报告 | 分拆上市 | 收购规范

上市全流程上市方法上市公司财报

信息披露股票限售限售股解禁 | 关联关系

控制权转让IPO关注点 | 股份锁定期

定向增发

图解定增 | 定增流程 | 定增新规 | 定增浅析

其 他

大小非 | 香港股市 | 产业并购基金

股票质押式回购 | 减持新规 | 国资新政

养老金入市 | ST股票 | 融资融券

 

VC/PE

VC/PE合同条款 | PE融资条款 | VC/PE税收

红杉项目 | 共享单车风投 | 法律要点

收 购

要约收购 | 公司收购流程

股权激励

股权稀释 | 股权激励 | 激励方式 | 持股平台

企业投融资

融资大坑 | 股权投资 | 融资途径 | 财务造假

企业分立税务处理 | 股权质押 | 对赌协议

创业公司融资 | 离岸投资 | 企业加杠杆

其 他

霍尔果斯 | 融资担保公司 | 民营担保 | PPP

解析海航 | 摩拜融资 | 交叉持股 | 公司重组

 

合 集

地产业务合集

房价和楼市

租赁vs房价 | 链家关店 | 学区房 | 限购令

地产黄金时代 | 地产调控 | 地产并购

楼市格局 | 房价调控

房地产融资

险资+地产 | 房地产ABS | 融资渠道

调控影响 | 地产融资新渠道 | 融资新规

融资新政应对 | 融资结构 | 明股实债

私募基金 | 房地产资金

 

跨境并购

跨境并购 | 地产跨境并购 | 跨境投融资并购

资金出境

ODI监管政策 | ODI资金出境 | 资金出境方式

资金违法出境 | 资金出境五种错误

境外投资

境外企业境内投资 | 境外发债 | 内保外贷

内保外贷新政 | 海外投资 | FoHF

外汇政策

政策整理合集

其 他

炒外汇 | 跨境换股 | 全口径跨境融资

离岸人民币 | 汇率解析

去杠杆后资金流向 | 去杠杆原因 | M2vs实体经济

M2vs社融 | 债市&股市 | 货币指标 | 一带一路

央行缩表 | 资产荒vs负债荒 | GDPvs股市

利率调控 | 缩表 | 资金面 | 国家债务

中国经济分析 | 货币政策 | 套利轮回

钱荒原因 | 流动性工具 | 美联储加息

 

Movie:导演系列

利用周末时间采集了豆瓣的所有电影的数据不包括电视剧」,从这些数据中筛选出一些可能符合题主所说的导演,筛选条件如下「以下只统计评价数量大于1000的电影」:

  • 以导演身份参与电影的数量不少于5部
  • 以导演身份参与电影平均评分大于8.0分
  • 以导演身份参与电影最多只有一部电影低于7分

 

部分数据已被手工剔除,

以下的所有排名不分先后:

 

1. 克里斯托弗·诺兰

 

 

导演主要作品:

盗梦空间 (豆瓣) 豆瓣评分9.2分

星际穿越 (豆瓣) 豆瓣评分9.1分

蝙蝠侠:黑暗骑士 (豆瓣) 豆瓣评分9.0分

追随 (豆瓣) 豆瓣评分8.9分

致命魔术 (豆瓣) 豆瓣评分8.8分

蝙蝠侠:黑暗骑士崛起 (豆瓣) 豆瓣评分8.5分

记忆碎片 (豆瓣) 豆瓣评分8.5分

蝙蝠侠:侠影之谜 (豆瓣) 豆瓣评分8.2分

 

 

2. 宫崎骏

 

 

导演主要作品:

阿尔卑斯山的少女 (豆瓣) 豆瓣评分9.3分

千与千寻 (豆瓣) 豆瓣评分9.2分

鲁邦三世TV系列2 (豆瓣) 豆瓣评分9.2分

鲁邦三世TV版系列1 (豆瓣) 豆瓣评分9.1分

龙猫 (豆瓣) 豆瓣评分9.1分

天空之城 (豆瓣) 豆瓣评分9.0分

哈尔的移动城堡 (豆瓣) 豆瓣评分8.8分

风之谷 (豆瓣) 豆瓣评分8.8分

 

 

3. 詹姆斯·卡梅隆

 

 

导演主要作品:

泰坦尼克号 3D版 豆瓣评分9.4分

泰坦尼克号 (豆瓣) 豆瓣评分9.2分

阿凡达 (豆瓣) 豆瓣评分8.6分

终结者2:审判日 (豆瓣) 豆瓣评分8.5分

重返俾斯麦战舰 (豆瓣) 豆瓣评分8.1分

真实的谎言 (豆瓣) 豆瓣评分8.0分

 

 

4. 费德里科·费里尼

 

 

导演主要作品:

卡比利亚之夜 (豆瓣) 豆瓣评分9.0分

大路 (豆瓣) 豆瓣评分8.9分

阿玛柯德 (豆瓣) 豆瓣评分8.7分

甜蜜的生活 (豆瓣) 豆瓣评分8.6分

浪荡儿 (豆瓣) 豆瓣评分8.5分

八部半 (豆瓣) 豆瓣评分8.4分

罗马风情画 (豆瓣) 豆瓣评分8.3分

 

 

5. 黑泽明

 

 

导演主要作品:

七武士 (豆瓣) 豆瓣评分9.2分

生之欲 (豆瓣) 豆瓣评分9.0分

影子武士 (豆瓣) 豆瓣评分8.8分

用心棒 (豆瓣) 豆瓣评分8.8分

罗生门 (豆瓣) 豆瓣评分8.7分

乱 (豆瓣) 豆瓣评分8.7分

梦 (豆瓣) 豆瓣评分8.6分

 

 

6. 是枝裕和

 

 

导演主要作品:

无人知晓 (豆瓣) 豆瓣评分8.9分

步履不停 (豆瓣) 豆瓣评分8.8分

回我的家 (豆瓣) 豆瓣评分8.8分

奇迹 (豆瓣) 豆瓣评分8.7分

比海更深 (豆瓣) 豆瓣评分8.6分

海街日记 (豆瓣) 豆瓣评分8.6分

如父如子 (豆瓣) 豆瓣评分8.3分

 

 

7. 杨德昌

 

 

导演主要作品:

一一 (豆瓣) 豆瓣评分8.9分

独立时代 (豆瓣) 豆瓣评分8.8分

牯岭街少年杀人事件 (豆瓣) 豆瓣评分8.7分

恐怖分子 (豆瓣) 豆瓣评分8.7分

麻将 (豆瓣) 豆瓣评分8.5分

 

 

7. 李安

 

 

导演主要作品:

饮食男女 (豆瓣) 豆瓣评分9.0分

少年派的奇幻漂流 (豆瓣) 豆瓣评分9.0分

喜宴 (豆瓣) 豆瓣评分8.8分

断背山 (豆瓣) 豆瓣评分8.6分

推手 (豆瓣) 豆瓣评分8.4分

比利·林恩的中场战事 (豆瓣) 豆瓣评分8.4分

理智与情感 (豆瓣) 豆瓣评分8.4分

差点被绿巨人坑死的男人……

 

 

8. 斯坦利·库布里克

 

 

导演主要作品:

光荣之路 (豆瓣) 豆瓣评分8.9分

巴里·林登 (豆瓣) 豆瓣评分8.7分

2001太空漫游 (豆瓣) 豆瓣评分8.6分

全金属外壳 (豆瓣) 豆瓣评分8.5分

发条橙 (豆瓣) 豆瓣评分8.4分

闪灵 (豆瓣) 豆瓣评分8.4分

 

 

9.维姆·文德斯

 

 

导演主要作品:

乐士浮生录 (豆瓣) 豆瓣评分9.1分

地球之盐 (豆瓣) 豆瓣评分9.1分

皮娜 (豆瓣) 豆瓣评分8.7分

德州巴黎 (豆瓣) 豆瓣评分8.6分

柏林苍穹下 (豆瓣) 豆瓣评分8.5分

十分钟年华老去:小号篇 (豆瓣) 豆瓣评分8.5分

 

 

10. 王家卫

王家卫争议性很大,在这里提一句,从豆瓣采集的数据并结合上面的筛选规则他导演的电影平均分确实刚好过8分,另外大家所说的《摆渡人》导演不是王家卫,而是张嘉佳,王家卫是参与编剧。

 

 

导演主要作品:

春光乍泄 (豆瓣) 豆瓣评分8.8分

东邪西毒:终极版 (豆瓣) 豆瓣评分8.7分

重庆森林 (豆瓣) 豆瓣评分8.6分

花样年华 (豆瓣) 豆瓣评分8.5分

阿飞正传 (豆瓣) 豆瓣评分8.5分

堕落天使 (豆瓣) 豆瓣评分8.1分

 

 

11. 大卫·芬奇

 

 

导演主要作品:

危险之旅:短片 (豆瓣) 豆瓣评分9.5分

搏击俱乐部 豆瓣评分9.0分

消失的爱人 (豆瓣) 豆瓣评分8.7分

七宗罪 (豆瓣) 豆瓣评分8.7分

本杰明·巴顿奇事 (豆瓣) 豆瓣评分8.7分

社交网络 (豆瓣) 豆瓣评分8.1分

 

 

12. 克日什托夫·基耶斯洛夫斯基

 

 

导演主要作品:

十诫 (豆瓣) 豆瓣评分9.0分

爱情短片 (豆瓣) 豆瓣评分8.8分

蓝白红三部曲之红 (豆瓣) 豆瓣评分8.7分

杀人短片 (豆瓣) 豆瓣评分8.5分

蓝白红三部曲之蓝 (豆瓣) 豆瓣评分8.4分

蓝白红三部曲之白 (豆瓣) 豆瓣评分8.4分

 

 

13. 昆汀·塔伦蒂诺

 

 

导演主要作品:

低俗小说 (豆瓣) 豆瓣评分8.7分

被解救的姜戈 (豆瓣) 豆瓣评分8.5分

罪恶之城 豆瓣评分8.4分

杀死比尔整个血腥事件 (豆瓣) 豆瓣评分8.4分

无耻混蛋 (豆瓣) 豆瓣评分8.4分

落水狗 (豆瓣) 豆瓣评分8.3分

八恶人 (豆瓣) 豆瓣评分8.3分

 

 

14.罗曼·波兰斯基

 

 

导演主要作品:

钢琴家 (豆瓣) 豆瓣评分9.0分

唐人街 (豆瓣) 豆瓣评分8.3分

杀戮 (豆瓣) 豆瓣评分8.2分

不道德的审判 (豆瓣) 豆瓣评分8.2分

苦月亮 (豆瓣) 豆瓣评分8.2分

穿裘皮的维纳斯 (豆瓣) 豆瓣评分8.0分

 

 

15.伍迪·艾伦

 

 

导演主要作品:

西力传 (豆瓣) 豆瓣评分9.0分

开罗紫玫瑰 (豆瓣) 豆瓣评分8.6分

安妮·霍尔 (豆瓣) 豆瓣评分8.5分

解构爱情狂 (豆瓣) 豆瓣评分8.5分

子弹横飞百老汇 (豆瓣) 豆瓣评分8.3分

曼哈顿 (豆瓣) 豆瓣评分8.3分

 

 

16.赛尔乔·莱翁内

 

 

导演主要作品:

革命往事 (豆瓣) 豆瓣评分9.1分

黄金三镖客 (豆瓣) 豆瓣评分9.1分

美国往事 (豆瓣) 豆瓣评分9.1分

黄昏双镖客 (豆瓣) 豆瓣评分8.7分

西部往事 (豆瓣) 豆瓣评分8.5分

荒野大镖客 (豆瓣) 豆瓣评分8.3分

 

 

17.今敏

 

 

导演主要作品:

妄想代理人 (豆瓣) 豆瓣评分8.9分

东京教父 (豆瓣) 豆瓣评分8.9分

红辣椒 (豆瓣) 豆瓣评分8.9分

未麻的部屋 (豆瓣) 豆瓣评分8.9分

15名动画人 (豆瓣) 豆瓣评分8.9分

千年女优 (豆瓣) 豆瓣评分8.5分

 

 

18.安德烈·塔可夫斯基

 

 

导演主要作品:

乡愁 (豆瓣) 豆瓣评分8.9分

镜子 (豆瓣) 豆瓣评分8.9分

安德烈·卢布廖夫 (豆瓣) 豆瓣评分8.9分

牺牲 (豆瓣) 豆瓣评分8.7分

潜行者 (豆瓣) 豆瓣评分8.7分

伊万的童年 (豆瓣) 豆瓣评分8.6分

压路机和小提琴 (豆瓣) 豆瓣评分8.5分

 

 

17.西奥·安哲罗普洛斯

 

 

导演主要作品:

永恒和一日 (豆瓣) 豆瓣评分8.9分

哭泣的草原 (豆瓣) 豆瓣评分8.9分

尤里西斯的凝视 (豆瓣) 豆瓣评分8.9分

雾中风景 (豆瓣) 豆瓣评分8.8分

鹳鸟踟蹰 (豆瓣) 豆瓣评分8.7分

养蜂人 (豆瓣) 豆瓣评分8.4分

 

 

18.比利·怀德

 

 

导演主要作品:

控方证人 (豆瓣) 豆瓣评分9.6分

玉女风流 (豆瓣) 豆瓣评分8.9分

热情如火 (豆瓣) 豆瓣评分8.8分

桃色公寓 (豆瓣) 豆瓣评分8.7分

日落大道 (豆瓣) 豆瓣评分8.7分

双重赔偿 (豆瓣) 豆瓣评分8.5分

 

 

19.英格玛·伯格曼

 

 

导演主要作品:

婚姻生活 (豆瓣) 豆瓣评分8.9分

假面 (豆瓣) 豆瓣评分8.7分

野草莓 (豆瓣) 豆瓣评分8.7分

呼喊与细语 (豆瓣) 豆瓣评分8.7分

处女泉 (豆瓣) 豆瓣评分8.4分

 

 

20.小津安二郎

 

 

导演主要作品:

东京物语 (豆瓣) 豆瓣评分9.2分

我出生了,但…… (豆瓣) 豆瓣评分8.9分

麦秋 (豆瓣) 豆瓣评分8.8分

浮草 (豆瓣) 豆瓣评分8.7分

秋刀鱼之味 (豆瓣) 豆瓣评分8.7分

 

更新于:2017-07-09 上午06:50

待更……

如果你喜欢音乐、电影、数据、编程、旅行,

关于我:路人甲- 知乎

更多文章 :学习编程

from:https://www.zhihu.com/question/27776546/answer/195397157

JVM 堆内存和非堆内存

堆和非堆内存

按照官方的说法:“Java 虚拟机具有一个堆(Heap),堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。

JVM主要管理两种类型的内存:堆和非堆。

Heap memory Code Cache
Eden Space
Survivor Space
Tenured Gen
non-heap memory Perm Gen
native heap?(I guess)

堆内存

Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。对象的堆内存由称为垃圾回收器的自动内存管理系统回收。

堆的大小可以固定,也可以扩大和缩小。堆的内存不需要是连续空间。

非堆内存

Java 虚拟机管理堆之外的内存(称为非堆内存)。

Java 虚拟机具有一个由所有线程共享的方法区。方法区属于非堆内存。它存储每个类结构,如运行时常数池、字段和方法数据,以及方法和构造方法的代码。它是在 Java 虚拟机启动时创建的。

方法区在逻辑上属于堆,但 Java 虚拟机实现可以选择不对其进行回收或压缩。与堆类似,方法区的大小可以固定,也可以扩大和缩小。方法区的内存不需要是连续空间。

除了方法区外,Java 虚拟机实现可能需要用于内部处理或优化的内存,这种内存也是非堆内存。例如,JIT 编译器需要内存来存储从 Java 虚拟机代码转换而来的本机代码,从而获得高性能。

几个基本概念

PermGen space:全称是Permanent Generation space,即永久代。就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域,GC(Garbage Collection)应该不会对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。

Heap space:存放Instance。

Java Heap分为3个区,Young即新生代,Old即老生代和Permanent。

Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射对象。

堆内存分配

  • JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;
  • JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4。
  • 默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;
  • 空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。
  • 因此服务器一般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小。
  • 说明:如果-Xmx 不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM,不是Throwable的,无法用try…catch捕捉。

非堆内存分配

  • JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;
  • 由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。
  1. 还有一说:MaxPermSize缺省值和-server -client选项相关,-server选项下默认MaxPermSize为64m,-client选项下默认MaxPermSize为32m。这个我没有实验。
  • XX:MaxPermSize设置过小会导致java.lang.OutOfMemoryError: PermGen space 就是内存益出。
  • 为什么会内存益出:
  1. 这一部分内存用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同。
  2. GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS 的话,就很可能出现PermGen space错误。
  • 这种错误常见在web服务器对JSP进行pre compile的时候。

JVM内存限制(最大值)

  • 首先JVM内存限制于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为2G-3G),而64bit以上的处理器就不会有限制了。
  • 为什么有的机器我将-Xmx和-XX:MaxPermSize都设置为512M之后Eclipse可以启动,而有些机器无法启动?

通过上面对JVM内存管理的介绍我们已经了解到JVM内存包含两种:堆内存和非堆内存,另外JVM最大内存首先取决于实际的物理内存和操作系统。所以说设置VM参数导致程序无法启动主要有以下几种原因:

  1. 参数中-Xms的值大于-Xmx,或者-XX:PermSize的值大于-XX:MaxPermSize;
  2. -Xmx的值和-XX:MaxPermSize的总和超过了JVM内存的最大限制,比如当前操作系统最大内存限制,或者实际的物理内存等等。说到实际物理内存这里需要说明一点的是,如果你的内存是1024MB,但实际系统中用到的并不可能是1024MB,因为有一部分被硬件占用了。
  • 如果你有一个双核的CPU,也许可以尝试这个参数: -XX:+UseParallelGC 让GC可以更快的执行。(只是JDK 5里对GC新增加的参数)
  • 如果你的WEB APP下都用了大量的第三方jar,其大小超过了服务器jvm默认的大小,那么就会产生内存益出问题了。解决方法: 设置MaxPermSize大小。
  1. 增加服务器启动的JVM参数设置: -Xms128m -Xmx256m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
  2. 如tomcat,修改TOMCAT_HOME/bin/catalina.sh,在echo “Using CATALINA_BASE: $CATALINA_BASE”上面加入以下行:JAVA_OPTS=”-server -XX:PermSize=64M -XX:MaxPermSize=128m
  • 建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以减少jar 文档重复占用内存

JVM内存设置参数

  • 内存设置参数
设置项 说明
-Xms512m 表示JVM初始分配的堆内存大小为512m(JVM Heap(堆内存)最小尺寸,初始分配)
-Xmx1024m JVM最大允许分配的堆内存大小为1024m,按需分配(JVM Heap(堆内存)最大允许的尺寸,按需分配)
-XX:PermSize=512M JVM初始分配的非堆内存
-XX:MaxPermSize=1024M JVM最大允许分配的非堆内存,按需分配
-XX:NewSize/-XX:MaxNewSize 定义YOUNG段的尺寸,NewSize为JVM启动时YOUNG的内存大小;
MaxNewSize为最大可占用的YOUNG内存大小。
-XX:SurvivorRatio 设置YOUNG代中Survivor空间和Eden空间的比例
  • 说明:
  1. 如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM不是Throwable的,无法用try…catch捕捉。
  2. PermSize和MaxPermSize指明虚拟机为java永久生成对象(Permanate generation)如,class对象、方法对象这些可反射(reflective)对象分配内存限制,这些内存不包括在Heap(堆内存)区之中。
  3. -XX:MaxPermSize分配过小会导致:java.lang.OutOfMemoryError: PermGen space。
  4. MaxPermSize缺省值和-server -client选项相关:-server选项下默认MaxPermSize为64m、-client选项下默认MaxPermSize为32m。
  • 申请一块内存的过程
  1. JVM会试图为相关Java对象在Eden中初始化一块内存区域
  2. 当Eden空间足够时,内存申请结束。否则到下一步
  3. JVM试图释放在Eden中所有不活跃的对象(这属于1或更高级的垃圾回收);释放后若Eden空间仍然不足以放入新对象,则试图将部分Eden中活跃对象放入Survivor区/OLD区
  4. Survivor区被用来作为Eden及OLD的中间交换区域,当OLD区空间足够时,Survivor区的对象会被移到Old区,否则会被保留在Survivor区
  5. 当OLD区空间不够时,JVM会在OLD区进行完全的垃圾收集(0级)
  6. 完全垃圾收集后,若Survivor及OLD区仍然无法存放从Eden复制过来的部分对象,导致JVM无法在Eden区为新对象创建内存区域,则出现”out of memory错误”

resin服务器典型的响应时间优先型的jvm配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-Xmx2000M -Xms2000M -Xmn500M
-XX:PermSize=250M -XX:MaxPermSize=250M
-Xss256K
-XX:+DisableExplicitGC
-XX:SurvivorRatio=1
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=0
-XX:+CMSClassUnloadingEnabled
-XX:LargePageSizeInBytes=128M
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=60
-XX:SoftRefLRUPolicyMSPerMB=0
-XX:+PrintClassHistogram
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC
-Xloggc:log/gc.log

内存回收算法

Java中有四种不同的回收算法,对应的启动参数为:

1
2
3
4
–XX:+UseSerialGC
–XX:+UseParallelGC
–XX:+UseParallelOldGC
–XX:+UseConcMarkSweepGC

Serial Collector

大部分平台或者强制 java -client 默认会使用这种。

young generation算法 = serial

old generation算法 = serial (mark-sweep-compact)

这种方法的缺点很明显, stop-the-world, 速度慢。服务器应用不推荐使用。

Parallel Collector

在linux x64上默认是这种,其他平台要加 java -server 参数才会默认选用这种。

young = parallel,多个thread同时copy

old = mark-sweep-compact = 1

优点:新生代回收更快。因为系统大部分时间做的gc都是新生代的,这样提高了throughput(cpu用于非gc时间)

缺点:当运行在8G/16G server上old generation live object太多时候pause time过长

Parallel Compact Collector (ParallelOld)

young = parallel = 2

old = parallel,分成多个独立的单元,如果单元中live object少则回收,多则跳过

优点:old old generation上性能较 parallel 方式有提高

缺点:大部分server系统old generation内存占用会达到60%-80%, 没有那么多理想的单元live object很少方便迅速回收,同时compact方面开销比起parallel并没明显减少。

Concurrent Mark-Sweep(CMS) Collector

young generation = parallel collector = 2

old = cms

同时不做 compact 操作。

优点:pause time会降低, pause敏感但CPU有空闲的场景需要建议使用策略4.

缺点:cpu占用过多,cpu密集型服务器不适合。另外碎片太多,每个object的存储都要通过链表连续跳n个地方,空间浪费问题也会增大。

内存监控方法

  • jmap -heap 查看java 堆(heap)使用情况
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
jmap -heap pid
 
using thread-local object allocation.
 
Parallel GC with 4 thread(s)   #GC 方式
 
Heap Configuration:  #堆内存初始化配置
 
MinHeapFreeRatio=40  #对应jvm启动参数-XX:MinHeapFreeRatio设置JVM堆最小空闲比率(default 40)
MaxHeapFreeRatio=70  #对应jvm启动参数 -XX:MaxHeapFreeRatio设置JVM堆最大空闲比率(default 70)
MaxHeapSize=512.0MB  #对应jvm启动参数-XX:MaxHeapSize=设置JVM堆的最大大小
NewSize  = 1.0MB     #对应jvm启动参数-XX:NewSize=设置JVM堆的‘新生代’的默认大小
MaxNewSize =4095MB   #对应jvm启动参数-XX:MaxNewSize=设置JVM堆的‘新生代’的最大大小
OldSize  = 4.0MB     #对应jvm启动参数-XX:OldSize=:设置JVM堆的‘老生代’的大小
NewRatio  = 8        #对应jvm启动参数-XX:NewRatio=:‘新生代’和‘老生代’的大小比率
SurvivorRatio = 8    #对应jvm启动参数-XX:SurvivorRatio=设置年轻代中Eden区与Survivor区的大小比值
PermSize= 16.0MB     #对应jvm启动参数-XX:PermSize=:设置JVM堆的‘永生代’的初始大小
MaxPermSize=64.0MB   #对应jvm启动参数-XX:MaxPermSize=:设置JVM堆的‘永生代’的最大大小
 
Heap Usage:          #堆内存分步
 
PS Young Generation
 
Eden Space:         #Eden区内存分布
 
capacity = 20381696 (19.4375MB)             #Eden区总容量
used     = 20370032 (19.426376342773438MB)  #Eden区已使用
free     = 11664 (0.0111236572265625MB)     #Eden区剩余容量
99.94277218147106% used                     #Eden区使用比率
 
From Space:        #其中一个Survivor区的内存分布
 
capacity = 8519680 (8.125MB)
used     = 32768 (0.03125MB)
free     = 8486912 (8.09375MB)
0.38461538461538464% used
 
To Space:          #另一个Survivor区的内存分布
 
capacity = 9306112 (8.875MB)
used     = 0 (0.0MB)
free     = 9306112 (8.875MB)
0.0% used
 
PS Old Generation  #当前的Old区内存分布
 
capacity = 366280704 (349.3125MB)
used     = 322179848 (307.25464630126953MB)
free     = 44100856 (42.05785369873047MB)
87.95982001825573% used
 
PS Perm Generation #当前的 “永生代” 内存分布
 
capacity = 32243712 (30.75MB)
used     = 28918584 (27.57891082763672MB)
free     = 3325128 (3.1710891723632812MB)
89.68751488662348% used
  • JVM内存监控工具
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
<%@ page import="java.lang.management.*" %>
<%@ page import="java.util.*" %>
  JVM Memory Monitor

"0"width="100%">
    

    

    

    

    

<%
        Iterator iter = ManagementFactory.getMemoryPoolMXBeans().iterator();
        while (iter.hasNext()) {
            MemoryPoolMXBean item = (MemoryPoolMXBean) iter.next();
%>

<%} %>
"2" align="center">

Memory MXBean

"200">Heap Memory Usage <%=ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()%>
Non-Heap Memory Usage <%=ManagementFactory.getMemoryMXBean().getNonHeapMemoryUsage()%>
"2"
"2" align="center">

Memory Pool MXBeans

"2">
    

"0"width="100%"style="border: 1px #98AAB1 solid;">
        

        

        

        

        

    
"2" align="center"><%= item.getName() %>
"200">Type <%= item.getType() %>
Usage <%= item.getUsage() %>
Peak Usage <%= item.getPeakUsage() %>
Collection Usage <%= item.getCollectionUsage() %>

"2"

Free Web Hosting

from:http://www.importnew.com/27645.html

2017年度盘点:15个最流行的GitHub机器学习项目

在本文中,作者列出了 2017 年 GitHub 平台上最为热门的知识库,囊括了数据科学、机器学习、深度学习中的各种项目,希望能对大家学习、使用有所帮助。另,小编恬不知耻地把机器之心的 Github 项目也加了进来,求 star,求 pull requests。

GitHub 是计算机科学领域最为活跃的社区,在 GitHub 上,来自不同背景的人们分享越来越多的软件工具和资源库。在其中,你不仅可以获取自己所需的工具,还可以观看代码是如何写成并实现的。

作为一名机器学习爱好者,作者在本文中列出了 2017 年 GitHub 平台上最为热门的知识库,其中包含了学习资料与工具。希望对你的学习和研究有所帮助。

目录

1. 学习资源

1. Awesome Data Science

2. Machine Learning / Deep Learning Cheat Sheet

3. Oxford Deep Natural Language Processing Course Lectures

4. PyTorch – Tutorial

5. Resources of NIPS 2017

2. 开源工具

1. TensorFlow

2. TuriCreate – A Simplified Machine Learning Library

3. OpenPose

4. DeepSpeech

5. Mobile Deep Learning

6. Visdom

7. Deep Photo Style Transfer

8. CycleGAN

9. Seq2seq

10. Pix2code

3. 机器之心项目

1. AI00-百家影响人工智能未来的公司

2. Artificial-Intelligence-Terminology

3. ML-Tutorial-Experiment

1. 学习资源

1.1 Awesome Data Science

项目地址: https://github.com/bulutyazilim/awesome-datascience

该 repo 是数据科学的基本资源。多年来的无数贡献构建了此 repo 里面的各种资源,从入门指导、信息图,到社交网络上你需要 follow 的账号。无论你是初学者还是业内老兵,里面都有大量的资源需要学习。

从该 repo 的目录可以看出其深度。

1.2 Machine Learning / Deep Learning Cheat Sheet

项目地址:https://github.com/kailashahirwar/cheatsheets-ai

该项目以 cheatsheet 的形式介绍了机器学习/深度学习中常用的工具与技术,从 pandas 这样的简单工具到深度学习技术都涵盖其中。在收藏或者 fork 该项目之后,你就不用再费事搜索常用的技巧和注意事项了。

简单介绍下,cheatsheets 类型包括 pandas、numpy、scikit learn、matplotlib、ggplot、dplyr、tidyr、pySpark 和神经网络。

1.3 Oxford Deep Natural Language Processing Course Lectures

项目地址:https://github.com/oxford-cs-deepnlp-2017/lectures

斯坦福的 NLP 课程一直是自然语言处理领域的金牌教程。但是近期随着深度学习的发展,在 RNN 和 LSTM 等深度学习架构的帮助下,NLP 出现了大量进步。

该 repo 基于牛津大学的 NLP 课程,涵盖先进技术和术语,如使用 RNN 进行语言建模、语音识别、文本转语音(TTS)等。该 repo 包含该课程从课程材料到实践联系的所有内容。

1.4 PyTorch – Tutorial

项目地址:https://github.com/yunjey/pytorch-tutorial

截至今天,PyTorch 仍是 TensorFlow 的唯一竞争对手,它的功能和声誉使其成为了颇具竞争力的深度学习框架。因其 Pythonic 风格的编程、动态计算图和更快的原型开发,Pytorch 已经获得了深度学习社区的广泛关注。

该知识库包含 PyTorch 上大量的深度学习任务代码,包括 RNN、GAN 和神经风格迁移。其中的大多数模型在实现上仅需 30 余行代码。这充分说明了 PyTorch 的抽象能力,它让研究人员可以专注于找到正确的模型,而无需纠缠于编程语言和工具选择等细节。

1.5 Resources of NIPS 2017

项目地址:https://github.com/hindupuravinash/nips2017

该 repo 包含 NIPS 2017 的资源和所有受邀演讲、教程和研讨会的幻灯片。NIPS 是一年一度的机器学习和计算神经科学会议。

过去几年中,数据科学领域内的大部分突破性研究都曾作为研究结果出现在 NIPS 大会上。如果你想站在领域前沿,那这就是很好的资源!

2. 开源软件库

2.1 TensorFlow

项目地址:https://github.com/tensorflow/tensorflow

TensorFlow 是一种采用数据流图(data flow graph)进行数值计算的开源软件库。其中 Tensor 代表传递的数据为张量(多维数组),Flow 代表使用计算图进行运算。数据流图用「结点」(node)和「边」(edge)组成的有向图来描述数学运算。「结点」一般用来表示施加的数学操作,但也可以表示数据输入的起点和输出的终点,或者是读取/写入持久变量(persistent variable)的终点。边表示结点之间的输入/输出关系。这些数据边可以传送维度可动态调整的多维数据数组,即张量(tensor)。

TensorFlow 自正式发布以来,一直保持着「深度学习/机器学习」顶尖库的位置。谷歌大脑团队和机器学习社区也一直在积极地贡献并保持最新的进展,尤其是在深度学习领域。

TensorFlow 最初是使用数据流图进行数值计算的开源软件库,但从目前来看,它已经成为构建深度学习模型的完整框架。它目前主要支持 TensorFlow,但也支持 C、C++ 和 Java 等语言。此外,今年 11 月谷歌终于发布了新工具的开发者预览版本,这是一款 TensorFlow 用于移动设备和嵌入式设备的轻量级解决方案。

2.2 TuriCreate:一个简化的机器学习库

项目地址:https://github.com/apple/turicreate

TuriCreate 是苹果最近贡献的一个开源项目,它为机器学习模型提供易于使用的创建方法和部署方法,这些机器学习模型包括目标检测、人体姿势识别和推荐系统等复杂任务。

可能我们作为机器学习爱好者会比较熟悉 GraphLab Create,一个非常简便高效的机器学习库,而当初创建该库的公司 TuriCreate 被苹果收购时,造成了很大反响。

TuriCreate 是针对 Python 开发的,且它最强的的特征是将机器学习模型部署到 Core ML 中,用于开发 iOS、macOS、watchOS 和 tvOS 等应用程序。

2.3 OpenPose

项目地址: https://github.com/CMU-Perceptual-Computing-Lab/openpose

OpenPose 是一个多人关键点检测库,它可以帮助我们实时地检测图像或视频中某个人的位置。

OpenPose 软件库由 CMU 的感知计算实验室开发并维护,对于说明开源研究如何快速应用于部署到工业中,它是非常好的一个案例。

OpenPose 的一个使用案例是帮助解决活动检测问题,即演员完成的动作或活动能被实时捕捉到。然后这些关键点和它们的动作可用来制作动画片。OpenPose 不仅有 C++的 API 以使开发者能快速地访问它,同时它还有简单的命令行界面用来处理图像或视频。

2.4 DeepSpeech

项目地址: https://github.com/mozilla/DeepSpeech

DeepSpeech 是百度开发的开源实现库,它提供了当前顶尖的语音转文本合成技术。它基于 TensorFlow 和 Python,但也可以绑定到 NodeJS 或使用命令行运行。

Mozilla 一直是构建 DeepSpeech 和开源软件库的主要研究力量,Mozilla 技术战略副总裁 Sean White 在一篇博文中写道:「目前只有少数商用质量的语音识别引擎是开源的,它们大多数由大型公司主宰。这样就减少了初创公司、研究人员和传统企业为它们的用户定制特定的产品与服务。但我们与机器学习社区的众多开发者和研究者共同完善了该开源库,因此目前 DeepSpeech 已经使用了复杂和前沿的机器学习技术创建语音到文本的引擎。」

2.5 Mobile Deep Learning

项目地址:https://github.com/baidu/mobile-deep-learning

该 repo 将数据科学中的当前最佳技术移植到了移动平台上。该 repo 由百度研究院开发,目的是将深度学习模型以低复杂性和高速度部署到移动设备(例如 Android 和 IOS)上。

该 repo 解释了一个简单的用例,即目标检测。它可以识别目标(例如一张图像中的手机)的准确位置,很棒不是吗?

2.6 Visdom

项目地址:https://github.com/facebookresearch/visdom

Visdom 支持图表、图像和文本在协作者之间进行传播。你可以用编程的方式组织可视化空间,或者通过 UI 为实时数据创建仪表盘,检查实验结果,或者调试实验代码。

绘图函数中的输入会发生改变,尽管大部分输入是数据的张量 X(而非数据本身)和(可选)张量 Y(包含可选数据变量,如标签或时间戳)。它支持所有基本图表类型,以创建 Plotly 支持的可视化。

Visdom 支持使用 PyTorch 和 Numpy。

2.7 Deep Photo Style Transfer

项目地址:https://github.com/luanfujun/deep-photo-styletransfer

该 repo 基于近期论文《Deep Photo Style Transfer》,该论文介绍了一种用于摄影风格迁移的深度学习方法,可处理大量图像内容,同时有效迁移参考风格。该方法成功克服了失真,满足了大量场景中的摄影风格迁移需求,包括时间、天气、季节、艺术编辑等场景。

2.8 CycleGAN

项目地址:https://github.com/junyanz/CycleGAN

CycleGAN 是一个有趣且强大的库,展现了该顶尖技术的潜力。举例来说,下图大致展示了该库的能力:调整图像景深。这里有趣的点在于你事先并没有告诉算法需要注意图像的哪一部分。算法完全依靠自己做到了!

目前该库用 Lua 编写,但是它也可以在命令行中使用。

2.9 Seq2seq

项目地址:https://github.com/google/seq2seq

Seq2seq 最初是为机器翻译而建立的,但已经被开发用于多种其它任务,包括摘要生成、对话建模和图像捕捉。只要一个问题的结构是将输入数据编码为一种格式,并将其解码为另一种格式,就可以使用 Seq2seq 框架。它使用了所有流行的基于 Python 的 TensorFlow 库进行编程。

2.10 Pix2code

项目地址:https://github.com/tonybeltramelli/pix2code

这个深度学习项目非常令人振奋,它尝试为给定的 GUI 自动生成代码。当建立网站或移动设备界面的时候,通常前端工程师必须编写大量枯燥的代码,这很费时和低效。这阻碍了开发者将主要的时间用于实现真正的功能和软件逻辑。Pix2code 的目的是通过将过程自动化来克服这一困难。它基于一种新方法,允许以单个 GUI 截图作为输入来生成计算机 token。

Pix2code 使用 Python 编写,可将移动设备和网站界面的捕捉图像转换成代码。

3. 机器之心项目

机器之心目前在 GitHub 上也有三个项目,分别是评估人工智能各领域优秀公司的 AI00、人工智能领域中英术语集和模型试验与解释项目。

3.1 AI00——机器之心百家影响人工智能未来的公司榜单

项目地址:https://github.com/jiqizhixin/AI00

人工智能是一个复杂庞大的体系,涉及众多学科,也关乎技术、产品、行业和资本等众多要素,本报告的写作团队只代表他们的专业观点,有自己的局限性,需要更多行业专家参与进来加以修正和完善。

我们深刻地理解在没有专业用户反馈的情况下所做出报告的质量局限性,所以希望用工程界「Agile Development」的理念来对待我们的报告,不断收集专业反馈来持续提升报告质量。

为此,我们将邀请人工智能领域的科学家、技术专家、产业专家、专业投资人和读者加入进来,共同完成这项人工智能的长期研究。我们将对参与者提供的信息进行汇总和整理,以月度为单位更新此份报告。

3.2 Artificial-Intelligence-Terminology

项目地址:https://github.com/jiqizhixin/Artificial-Intelligence-Terminology

我们将机器之心在编译技术文章和论文过程中所遇到的专业术语记录下来,希望有助于大家查阅和翻译(第二版)。

本词汇库目前拥有的专业词汇共计 760 个,主要为机器学习基础概念和术语,同时也是该项目的基本词汇。机器之心将继续完善术语的收录和扩展阅读的构建。

词汇更新主要分为两个阶段,第一阶段机器之心将继续完善基础词汇的构建,即通过权威教科书或其它有公信力的资料抽取常见术语。第二阶段机器之心将持续性地把编译论文或其他资料所出现的非常见术语更新到词汇表中。

读者的反馈意见和更新建议将贯穿整个阶段,并且我们将在项目致谢页中展示对该项目起积极作用的读者。因为我们希望术语的更新更具准确度和置信度,所以我们希望读者能附上该术语的来源地址与扩展地址。因此,我们能更客观地更新词汇,并附上可信的来源与扩展。

3.3 ML-Tutorial-Experiment

项目地址:https://github.com/jiqizhixin/ML-Tutorial-Experiment

该项目主要是展示我们在实验机器学习模型中所获得的经验与解释,目前我们解释并实现了卷积神经网络、生成对抗网络和 CapsNet。这些实现都有非常详细的文章以说明模型的结构与实现代码。如下所示为这三个实现项目的说明:

原文链接:https://www.analyticsvidhya.com/blog/2017/12/15-data-science-repositories-github-2017/

声明:本文由机器之心编译出品,原文来自Analytics Vidhya,转载请查看要求,机器之心对于违规侵权者保有法律追诉权。

from:https://www.jiqizhixin.com/articles/2017-12-21-10

Tomcat服务不能启动Jacob的问题

Tomcat作为服务运行时,JACOB调用Excel失败解决方案 – – ITeye博客

问题表现:

1,当将Tomcat以命令行的方式运行时,JACOB可以正常调用Excel。

2,当将Tomcat以Windows服务的方式启动时,会导致调用不成功,表现就是程序卡在调用那一步。

3,如果仔细查看Tomcat日志会发现以下错误:

com.jacob.com.ComFailException: Invoke of: OpenSource: Microsoft Office Excel Description: Microsoft Office Excel

• 文件名称或路径不存在。
• 文件正被其他程序使用。
• 您正要保存的工作簿与当前打开的工作簿同名。

如果你遇到了以上问题,恭喜你又被微软的垃^圾软件给坑了。

解决方案:

1,如果是windows 2008 操作系统

请参考这2篇文章:

http://stackoverflow.com/questions/16731037/excel-cant-read-file-written-by-java-process-when-running-as-windows-service

http://bytes.com/topic/c-sharp/answers/819740-c-service-excel-application-workbooks-open-fails-when-called-service#post3514712

如果打不开,请自行翻^^墙.或直接看下边介绍:

如果你是64位操作系统

请在C:\Windows\SysWOW64\config\systemprofile\目录下新建一个Desktop的文件夹

如果是32位操作系统

请在C:\Windows\System32\config\systemprofile\目录下新建一个Desktop的文件夹

2,如果你经过以上步骤还是不行,握个手吧,我试了之后也还是不行,请继续往下看

3,请参考这2篇文章:

http://stackoverflow.com/questions/3658936/office-2007-is-unable-to-open-files-when-called-through-jacob-from-a-service

http://bytes.com/topic/c-sharp/answers/819740-c-service-excel-application-workbooks-open-fails-when-called-service#post3466746

如果打不开,请自行翻^^墙.或直接看下边介绍:

4,首先打开任务管理器,结束Excel.exe*32的进程,

5,停止你的tomcat服务,

6,运行”dcomcnfg”

7,在新打开的窗口里,依次展开:“控制台根节点”–>“组件服务”–>”计算机”–>“我的电脑”–>”DCOM配置”,

8,在里面找到一个名为”Microsoft Excel Application”的节点

9,右键单击该节点,选属性 ,切换到标识选项卡

改为“交互式用户”,最后点击确定完成

如果在第8步里,你没有找到”Microsoft Excel Application”的节点,恭喜你,又被微软这个垃圾公司给坑了,据说是微软忘了在windows2008 64位的dcom配置里加入32位程序,诅****咒微软1000000遍。

请参考:

http://blogs.technet.com/b/the_microsoft_excel_support_team_blog/archive/2012/11/12/microsoft-excel-does-not-appear-in-dcom-configuration-snap-in.aspx

http://social.msdn.microsoft.com/Forums/office/en-US/cba17567-6371-4a66-a33a-5b36093864d2/dcom-component-services-missing-help?forum=worddev

不想看的直接看下面介绍:

10,关闭刚才打开的dcom配置的窗口

11,在命令行模式下,切换到

C:\WINDOWS\SysWOW64这个目录

11,输入 mmc comexp.msc /32 这个命令

12,此时会再次弹出刚才的那个dcom窗口,重复7~9的步骤

最后再次以服务的方式启动Tomcat,运行你的程序再行测试,应该就可以了。

from:http://wowtianwen.iteye.com/blog/1952913