对垃圾回收器的改进方案

5 天前
 ncisoft

我有一个软件设计模式的设计,用途是减轻垃圾回收的压力,能使得垃圾回收更加轻量和平滑,减少对内存的消耗和暂停时间。可用在支持分代垃圾回收器的语言,如 Java c# nodejs golang Lua 5.4 。

我追踪研究此项技术有 20 年了吧,在我有限的认知范围内,确信是世界首创。

主要目标市场将会是 Java ,现在工业界的 Java 实例对内存和 GC 的消耗很惊人,已经出现 TB 级的工业实践,业界最领先的 JVM 实现是 Azul C4 商业软件,官方宣称能在 1-8TB 堆上达到无暂停。JVM 厂商这几年一直在努力推进垃圾回收器的实现。这是 JVM 行业解决该问题的主要技术途径。而我的方案则是一个完全不同的设计方法。

我构想的技术实现方式,可以做到以 Java OOP 方式开发系统,达到或接近函数式编程语言的垃圾回收表现,而无需转换到 JVM 平台上的 Scala 函数式语言:尽量交给 MINOR GC 来回收垃圾,更少的 FULL GC 。而现代 JVM 从 CMS 开始,MINOR GC 就已经极为高效。

在 Java 的使用上相当简单,依据一个开发范式,通过 profiling 工具找出关键方法,对这部分代码进行简单重构,就可以把既有代码转换成对 GC 友好的应用。不仅可以用在 Java backend ,同样可以用于安卓 APP 。

有別于借助 JVM 垃圾回收器的改进提升,我的方案明显更可控可预测,同时成本也更低。

欢迎开发人员、软件外包公司、中小企业、各用 Java 支持业务系统的公司、安卓开发公司接洽商业合作,详情请联系李先生 leeygx#gmail.com

7958 次点击
所在节点    Java
143 条回复
cannotagreemore
5 天前
这个和开发针对瓶颈自己优化代码的区别和优势是什么呢?
Ayanokouji
5 天前
和选择 zgc 有什么优势
iyiluo
5 天前
要重构源码,这有点 low 啊,妥妥的侵入操作
ncisoft
5 天前
@cannotagreemore 这是针对 GC 做的优化,你可以理解为 Oracle SQL 的 hints

在我的设计出来之前,优化不到 GC 层
ncisoft
5 天前
@iyiluo Azul C4 高大上,就是贵
Yanlongli
5 天前
围观大佬
yuk1no
5 天前
有 metric 对比看看吗?
ncisoft
5 天前
@Ayanokouji 不同层面的东西,也可以视为 zgc 的补充
ncisoft
5 天前
@yuk1no 过两天发出来
iosyyy
5 天前
talk is easy
nothingistrue
5 天前
动源代码不动垃圾回收器或者 JVM ,我不信你真得能有提升。不上测试报告,只能假定你在瞎说。
rrfeng
5 天前
我觉得是吹牛逼。
ncisoft
5 天前
@nothingistrue 后续打算出一些软件的 benchmark ,会从 GitHub 上找,可能有 Elasticsearch ,拭目以待吧
NightFlame
5 天前
发点案例看看呢
ncisoft
5 天前
@NightFlame 还没有案例呢,我打算找一些释放出源代码的软件做对比测试,欢迎推荐
dabai0806
5 天前
设计模式重构代码优化 gc, 这对已有项目改造成本也太高了

而且我也不觉得设计模式优化 gc 是个靠谱的事
ncisoft
5 天前
@dabai0806 看公司自己的选择,我说的重构只针对 profile 出来关键方法,而且简单机械,不复杂

所以说是世界首创嘛,一般人想不到这里^_^
52boobs
5 天前
talk is cheap,show me the code
cinlen
5 天前
benchmark 没出来就开始找商业合作了?
carity
5 天前
测试结果没有,应用案例没有,Demo 也没有,就找合作了?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052490

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX