JVM 内存配置参数

一个重要的概念就是我们常常所说的设置jvm的内存参数大多关注的是堆内存的大小。
简单理解成这样:堆内存 = Old + Eden + S0 + S1 ;年轻的 = Eden(新生代) + S0 + S1 。

栈内存大小相关设置
-Xss1024k
意义: 设置线程栈占用内存大小。
默认值:不同的操作系统平台,其默认值不同。

堆内存大小相关设置

-Xms512m
意义: 设置堆内存初始值大小。
默认值:如果未设置,初始值将是老年代和年轻代分配制内存之和。

-Xmx1024m
意义: 设置堆内存最大值。
默认值:不同的操作系统平台,其默认值不同, 具体请查看官网 或者 查看讨论 How is the default Java heap size determined?
年轻代内存大小相关设置

-Xmn512m
意义: 设置新生代的初始值及最大值。
默认值:堆内存的1/4(这里要记住不是最大堆内存,还是已经分配的堆内存的1/4)。

-XX:NewSize=512m
意义:设置新生代的初始值。

-XX:MaxNewSize=512m
意义:设置新生代的最大值。

比率方式设置

-XX:NewRatio=8
意义:设置老年代和年轻代的比例。比如:-XX:NewRatio=8 表示老年代内存:年轻代内存=8:1 => 老年代占堆内存的8/9,年轻代占堆内存的1/9。
默认值:2

-XX:SurvivorRatio=32
意义:设置新生代和存活区的比例(这里需要注意的是存活区指的是其中一个)。比如:-XX:SurvivorRatio=8 表示存活区:新生代=1:8 => 新生代占年轻代的8/10,每个存活区各占年轻代的1/10。
默认值:8

-XX:MinHeapFreeRatio=40
意义:GC后,如果发现空闲堆内存占到整个预估上限值的40%,则增大上限值。
默认值:40

-XX:MaxHeapFreeRatio=70
意义:GC后,如果发现空闲堆内存占到整个预估上限值的70%,则收缩预估上限值。
默认值:70

Meta大小相关设置

-XX:MetaspaceSize=128m
意义:初始元空间大小,达到该值就会触发垃圾收集进行类型卸载,同时GC会对该值进行调整:如果释放了大量的空间,就适当降低该值;如果释放了很少的空间,那么在不超过MaxMetaspaceSize时,适当提高该值。
默认值:依赖平台

-XX:MaxMetaspaceSize=256m
意义:设置元空间的最大值,默认是没有上限的,也就是说你的系统内存上限是多少它就是多少
默认值:默认没有上限,在技术上,Metaspace的尺寸可以增长到交换空间

参考链接

Java HotSpot VM Options

Java Platform, Standard Edition Tools Reference

Facebook 小红书

2012年,Facebook 发行股票上市,每个员工收到了一本小红书。

最后一页写着这样一段话:

如果我们自己不创造能够杀死 Facebook 的东西,其他人将会这样做。……互联网不是一个友善的地方。那些不重要的东西甚至都没有机会留下遗迹。它们消失得无影无踪。

曹刿论战

十年春,齐师伐我,公将战,曹刿请见。其乡人曰:“肉食者谋之,又何间焉?”刿曰:“肉食者鄙,未能远谋。”乃入见,问:“何以战。”公曰:“衣食所安,弗敢专也,必以分人。”对曰:“小惠未遍,民弗从也。”公曰:“牺牲玉帛,弗敢加也,必以信。”对曰:“小信未孚,神弗福也。”公曰:“小大之狱,虽不能察,必以情。”对曰:“忠之属也,可以一战。战则请从。”
公与之乘,战于长勺。公将鼓之。刿曰:“未可。”齐人三鼓,刿曰:“可矣。”齐师败绩。公将驰之。刿曰:“未可。”下视其辙,登轼而望之,曰:“可矣。”遂逐齐师。

既克,公问其故。对曰:“夫战,勇气也。一鼓作气,再而衰,三而竭。彼竭我盈,故克之。夫大国,难测也,惧有伏焉。吾视其辙乱,望其旗靡,故逐之。”

继续阅读“曹刿论战”

内卷

美国人类学家亚历山大·戈登威泽发展了内卷化的概念:在1936年的研究原始文化的一篇论文中,他使用“内卷化”来形容某文化模式达到某最终形态后,无法自我稳定,也无法转变为新的形态,只能使自己在内部更加复杂化。戈登威泽认为,文化模式达到了极致之后,模式的规定导致了文化的外在的统一性,从而渐进发展起统一性内部的不同要素的多样性:如毛利人的装饰艺术要素很少,却有着复杂而精细的设计,戈登威泽将这种现象称为内卷化。

Developer Weekly 10

A curated collection of publicly available resources on how technology and tech-savvy organizations around the world practice Site Reliability Engineering (SRE) Topics

免费的英文书籍,向初学者介绍 Python 如何用于科学计算

Vue父子组件通信的三两事(prop、emit)

ElasticSearch性能优化实践(JVM调优+ES调优)

浏览器是如何校验证书的?

Create animated GIF and WebP from videos using FFmpeg

Introducing Consistent Hashing

Consistent Hashing: An alternative for distributed hashing problems.

数据结构与算法视频

A gentle introduction to multithreading

JVM 调优实战 – 优化 2015 年 8G 内存 Macbook Pro 上 IDEA 的打开速度

Java Hotspot G1 GC的一些关键技术

深入理解 Java G1 垃圾收集器GC调优

Dealing with Ranges using Java TreeMaps

马云演讲全文

2020 年 10 月 23-25 日,中国金融四十人论坛(CF40)联合各组委会成员机构在上海召开第二届外滩金融峰会。峰会主题为“危与机:新格局下的新金融与新经济”。24日,马云以联合国数字合作高级别小组联合主席、联合国可持续发展目标倡导者的身份进行了演讲。

以下是奇点财经记者根据马云演讲整理的全文(有关内容未作删减):

感谢大会的邀请,很高兴有这个机会和大家一起学习、交流和探讨。2013 年,也是在上海,我来到上海陆家嘴金融峰会,发表了一通关于互联网金融的被称为异想天开的观点。七年过去了,今天我作为非官方的非专业人士,又来到了上海的外滩金融论坛,希望有一些观点,供大家思考。

其实今天要不要来讲,坦白说我也很纠结。但是我想我们这批人,有一个东西是责无旁贷的,就是为未来思考的责任,因为这个世界虽然留给我们发展的机会很多,但是关键性的机会也只有一两次,现在就是到了最关键的时刻。

所以我想来这里讲讲我自己的想法和一些看法,这些想法,是我们自己16年实践经验总结出来,加上有幸担任联合国数字合作高级别小组联合主席和联合国可持续发展目标倡导者期间,我跟全世界的学者、专家还有实践者经过了探讨和研究。

我想,我已经算是退休,在这个非官方的论坛上畅所欲言一下,分享一下一个非专业人士的非专业看法,所幸的我发现是,现在很多专业人士已经不讲专业了。

我有三个观点,供大家参考,可能不成熟,讲得不对,贻笑大方,大家姑且一听,觉得没道理,忘了就是。

第一个观点,一直以来我们有一些思维上的惯性,比如总觉得要为了跟国际接轨,必须要做欧美发达国家有,而我们没有的所谓空白,要填补国内空白,把填补国内空白当作追求的目标。

我一直觉得,在今年的形势下,填补空白这句话是有问题的,不是因为欧美的就是先进的,就是我们要去填补的。其实今天我们不应该要追求要和哪个东西接轨,适应哪国的标准,填补哪个空白,今天我们要思考的是,怎么和未来接轨,怎么适应未来的标准,怎么弥补未来的空白,我们要想明白,未来是如何的,以及自己到底要做什么,然后再去看看别人怎么做,如果永远重复别人的语言,讨论别人设定的主题,我们不但会迷失现在,更会错失未来。

二战以后,世界需要恢复经济的繁荣,布雷登森林体系建立起来以后,对全球经济的推动是巨大的。后来亚洲金融风暴发生后,巴塞尔协议讲的风险控制,越来越受重视,到后来变成了一个风险控制的操作标准。现在的趋势是,越来越象是全世界只讲风险控制,不讲发展,很少人去讲年轻人的机会、发展中国家的机会在哪里。

这其实也诞生了今天世界很多问题的根源。我们今天也看到巴塞尔协议本身也让欧洲的整体创新受到了很大的限制,比如在数字金融方面。

巴塞尔协议,比较像一个老年人俱乐部,它要解决的是运转了几十年的金融体系老化的问题,欧洲那些老化的体制,系统极其复杂。但是中国的问题正好相反,不是系统性金融风险,因为中国金融基本上没有系统,中国实际上是“缺乏金融系统”的风险。

中国的金融和其他刚成长起来的发展中国家一样,在金融业我们是青春少年,还没有成熟的生态体系,没有完全的流动起来。中国有很多大银行,更像是大江大河和血液的动脉,但是我们今天更需要湖泊、需要水塘,需要小溪小河,需要各种各样的沼泽地,缺少了这些生态系统,我们才会涝的时候涝死,旱的时候旱死,所以,今天我们国家是缺乏健康金融系统的风险,我们需要的是建设金融的健康系统,而不是金融系统性风险。

这就像两个完全不同的病,就像老年痴呆症和小儿麻痹症,看起来都一样,但其实是完全不同的病。如果小孩子吃了老年痴呆的药,不光会得老人的病,还有很多莫名其妙的病。

这个巴塞尔协议就是考虑系统老化、过度复杂的老年人的病,而我们要思考的是跟着老年人学什么?要知道老年人和年轻人关心的问题不同。年轻人城市关心的是有没有学校,老年人关心是有没有医院。

所以,今年世界的变化是非常神奇,非常快速的。昨天晚上,我们在上海决定了蚂蚁上市的定价。这个全人类有史以来最大规模的上市定价,而且是在纽约以外的城市定价,这是第一次。这在五年前,甚至三年前,想都不敢想,但是奇迹就这么发生了。

第二,创新一定要付出代价,我们这代人必须有所担当。

习主席讲过“功成不必在我”,我理解这句话讲的是一种责任,讲的是为未来、为明天、为下一代去担当。今天世界的很多问题包括中国,都只能用创新去解决。但是真正的创新,一定是没有人带路的,一定需要有人担当的,因为创新一定会犯错误,问题不是怎么样不犯错误,而是犯了错误之后,能不能完善修正,坚持创新。做没有风险的创新,就是扼杀创新,这世界上没有无风险的创新。很多时候,把风险控制为零,这才是最大的风险。

当年的赤壁之战,我认为,曹操要把所有的船连起来,这就是中国也是全世界最早的航母的思想,但是一把火烧掉后,一千年来,中国人连想也不敢去想,一旦想到那把火,谁还想把船做大,谁还会有这种系统性思考?

七八年以前,我提过互联网金融这个概念,也在上海。而且我们一直强调,互联网金融必须有三个核心要素:一是必须拥有丰富的数据;二是必须基于丰富大数据下的风控技术;第三,必须拥有基于大数据的信用体系。

用这三个标准来衡量,就会看到 P2P 根本不是互联网金融,但是今天不能因为 P2P, 把整个互联网技术对金融的创新给否定了,其实我们想一想,中国怎么可能在几年以内就出现了几千家互联网金融公司? 我们是不是应该检查一下,是什么原因诞生了几千家的互联网金融,所谓的P2P公司?今天我们的监管确实很难,全球的监管都很难。

创新主要来自于市场,创新来自于基层,创新来自于年轻人。对监管的挑战越来越大,其实监和管是两回事,“监”是看着你发展,关注你发展。

管是有问题的时候或是预判有问题的时候才去管,但是我们现在,管的能力很强,监的能力明显不足。

好的创新不怕监管,但是怕用昨天的方式去监管,我们不能用管理火车站的办法去管理飞机场,不能用昨天的方法来管理未来。

“监”和“管”不一样,政策和文件也不一样。今天这个不许,那个不许,那都叫文件。政策是机制建设,是激励发展。今天全世界,特别是中国,需要很多的“政策专家”,而不是文件专家。

制订政策是一门技术活,其实解决系统性复杂的问题,我自己觉得,可以跟大家分享一下我们淘宝是怎么做的。

17年以前,我们没有技术、没有数据,也对未来的判断不准确,我们制订了很多这个不许那个不许的很多规则。但是今天,我们能够技术解决了,今天我们有能力解决这些系统性问题。但是,我们今天的年轻人,也像监管一样,总是喜欢出各种各样新的政策文件,不允许这样,也不允许那个。后来我想出一个办法,叫“加一减三”,你要加一条规则,必须要减掉前面三条规则。这样我们的文件就越来越短,如果说你不减,那你的规章制度越来越厚,是逼迫每个人去犯法,每个人去犯错,大家自己都糊涂起来。

理论和系统也是不一样的,专家和学者是不一样的,我们这个国家,把很多学者和专家都混为一谈。专家是干出来的,他干得很厉害,但不一定会总结。

很多学者,自己不具体干,但是能从别人实干中总结并形成理论。只有专家和学者结合起来,只有把理论和实践结合起来,才能真正去创新、解决今天和明天的问题。我想,我们需要来自于实践的理论,不是来自于办公室理论的实践。

P2P很多就是来自于办公室理论的实践,我想,更应该认为,我们今天正确理解P2P给我们带来的巨大教训,我们不是要去否定互联网技术,更不要重复办公室理论的实践。

我觉得还有一个现象,全球很多监管部门到后面,自己变成了没有风险,自己的部门没有风险,但是整个经济有风险,整个社会变成了有风险。未来的比赛是创新的比赛,不仅是监管技能的比赛。现在各国一个比一个狠,发展都是空的,但是不许这样干,都是刀刀见血。

我的理解,习主席说的提升执政能力,是指在监管有序的下面保持健康可持续的发展,而不是监管了就没有发展。监管其实不难,难的是监管的目的是为了可持续的健康发展,监管就是为了健康的发展。

第三个观点,金融的本质是信用管理。我们必须改掉今天金融的当铺思想,要依靠信用体系的发展。

今天的银行,延续的还是当铺思想。抵押和担保就是当铺。这在当年,是很先进的,没有抵押,担保这些创新,就不可能有今天的金融机构,中国经济 40 年来的发展也不可能发展到现在。

但是靠资产和抵押的资质会走向极端。我是中国企业俱乐部的主席,也是浙商总会的会长,我跟很多企业家交流,中国的金融当铺思想非常严重,也影响了很多企业家。尤其企业家要把资产全押了出去,压力非常大,压力大了以后,动作就变形。

还有一些人,肆无忌惮地贷款,不断加杠杆,负债搞的越来越大。大家都知道,借 10 万块,你怕银行;借 1000 万,你和银行都有点慌;借 10 个亿,银行怕你。还有一个习惯,银行喜欢给好企业、不需要钱的企业贷款,拼命的贷款。结果让很多好企业变成了坏企业,形成了多元化的投资,形成了甚至把这个钱转出去做完全不符合自己的事,钱太多也可能惹很多事。

抵押的当铺思想,是不可能支持未来 30 年世界发展对金融的需求的。我们必须用借助今天的技术能力,用大数据为基础的信用体系,来取代当铺思想,这个信用体系不是建立在 传统的IT 基础上,不是建立在熟人社会的基础上,而是必须是建立在大数据的基础上,才能真正让信用等于财富。其实要饭的也必须有信用,没有信用,连要饭都要不到。我认为每个要饭的人都是(要)有信用的。

应构建创新与监管相匹配的新金融体系

最后,我想,今天的世界,迫切期待一个真正为未来而思考的全新的金融体系。

今天的金融体系是工业化时代的产物,是为了解决工业而设置的全面的金融体系,是为了完成二八理论。什么叫二八理论?就是投资20%,来解决80%的问题。而未来的金融体系,是要解决八二理论,帮助80%的小企业和年轻人来带动20%的人。要从过去的人找钱、企业找钱,到转型为钱找人、钱找企业,钱找好企业。评价这个体系的唯一的标准就是是否普惠、包容、绿色和可持续,背后的大数据、云计算、和区块链等前沿技术,今天(已经)能担当起巨大的责任。

各位,即使在二战以后,当时的人们没有这样的远见,为后代为未来设计一个很好的金融体系,我们今天有这个责任和思考,为去建立一个真正属于未来,属于年轻人和下一代,属于这个时代的金融体系。今天我们不是做不到,而是不去做。今天我们的技术发展让我们完全可以做到这一些,遗憾的是,很多人不愿意去做。

今天全球的金融体系必须改革,不然不仅仅是失去机会的问题,而是让世界可能会陷入更多的混乱。创新走在监管前面是正常的,但是当创新远远地走在监管前面的时候,当创新的丰富度和深度远远超过监管的想象的时候,就不正常了,社会和世界就会陷入混乱。

拿数字货币来说,如果用未来的眼光打造 30 年后世界所需的金融体系,数字货币可能是非常重要的核心。今天的金融确实不需要数字货币,但是明天需要,未来需要,成千上万的发展中国家和年轻人需要,我们应该问自己,数字货币到底要解决未来的什么实际问题?

十年以后的数字货币和今天的数字货币,可能根本就不是一回事,这个数字货币不应该从历史上去找,不是从监管角度去找,不是从研究机构去找,而是从市场去找,从需求去找,从未来去找。这件事事关重大,我们的研究机构不应该是政策机构。政策机构也不能仅仅依赖于自己的研究机构。因为数字货币体系是一个技术问题,但又不仅仅是技术问题,更是一个解决未来问题的方案,数字货币可能重新定义货币,尽管货币的主要功能仍然在,但是它一定会重新定义货币,就像苹果手机重新定义了手机,打电话只是其中的一个功能。数字货币今天远远没有到抢标准的时候,是创造价值的时候,是需要思考如何通过数字货币,建立新型的金融体系,为全世界思考未来,思考全球的贸易怎么做,更要思考这世界上应该要有经得起考验的技术的基础之上建立的数字货币。是要真正解决世界贸易可持续、绿色和普惠的问题。

所以,最后我想说,今天人类社会到了最关键的时刻,千万不要小看这场疫情,这场疫情是倒逼人类社会进步的力量,它不亚于二战。

从金融本身来说,从美国不断地向世界各国,特别是向华尔街不断输入大量现金,各国都在跟随其后,大家想过后面的结果会怎么样没有,它所带来的巨大的影响,远远超过我们今天讨论的技术层面的问题。

我们对今天世界上很多的组织机构,不要简单的去反对它,而是一起重新思考他今天的价值,无论是联合国,WTO,还是 WHO,这些组织确实存在着很多问题。这些组织我都打过交道,工作过,合作过,但是消灭这些组织并不解决问题,我们应该考虑这些组织应该如何面向未来,如何改革,如何重新思考定位。

新金融体系是未来的方向,不管我们高兴不高兴,它一定会起来,不管我们做不做,一定会有人去做。未来,我相信,改革是要付出牺牲的,是要付出代价的,我们这一代人要做这样的改革,可能下一代人才能看到,我们可能是负重前行的一个人,这是历史的机遇,也是历史的责任。过去16年,蚂蚁金服一直围绕着绿色、可持续和普惠发展。如果绿色、可持续和普惠包容的金融是错误的话,我们(也)将会一错再错,一错到底。