对垃圾回收器的改进方案

12 天前
 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

8436 次点击
所在节点    Java
143 条回复
panlatent
12 天前
不懂 Java 也没深入研究过 GC 。不踩 OP ,但是我看过任何性能调优的文章和言论,好像都不是主题贴的风格。既没有简述原理,也没有列举数据,反而直接整了个商务合作。

既然依靠设计模式做性能优化,那么哪些客户需要性能?是多大群体?都要学习的你模式还需要重构核心代码?且你的模式是付费闭源,具体实施起来肯定困难重重。比如第三方库和包怎么办。
NickX
12 天前
talk is cheap. show me the code
ncisoft
12 天前
@panlatent 测试数据过几天我会发一个简版的出来
nuk
12 天前
好奇原理是啥,直接标记分代数据吗
xue777hua
12 天前
在对冲基金做过高频交易 楼主说的方案 业界对 gc 敏感的一直都在这么做 而且都遵遵循类似的范式来尽量 minor gc 所以并不认为有多大市场。
也就是
不需要 gc 的不在乎这点
需要在乎 gc 的早就已经用那一套方法论在优化了
真正需要极致优化的 谁用 java 啊 c++真香
andytao
12 天前
别给 JAVA 整了,先给仓颉实现吧,借它的东风雄起。。。
kyuuseiryuu
12 天前
对于软件开发商来说,花钱买机器和花钱买你 GC 都是花钱。
买你的产品还多了修改代码的要求。改一次代码就要做一次回归测试,开发成本又在这里。不如花钱堆机器来得简单无脑成本低。

对于开发商的技术部门来说,如果需要修改代码,侵入性大,对整个系统架构有影响,太耦合了。

对于 toB 开发商的客户来说,他们拿不到源码,也用不上。


感觉目标客户范围很小呢。
windsage
12 天前
android 上的 cc 就是参考自 shenodoah gc ,在服务器上有 zgc ,停顿更少的,你要直接减少 gc ,编译成二进制不好么?干嘛套个虚拟机呢。
corcre
12 天前
@kyuuseiryuu 简单来说就是大客户用不上, 小客户用不起🐶
shawnsh
12 天前
追踪技术有 20 年了,你今年多大了
ncisoft
12 天前
@andytao 不认识华为的人,这有点难呢
sagaxu
12 天前
盲猜是通过 proiling 找出长期生存对象,重构代码,不让它们辗转到老年代
ncisoft
12 天前
@windsage AOT 并不能消灭 GC
LieEar
12 天前
有没有具体测试?你在这干聊谁会相信
ncisoft
12 天前
@sagaxu 盲猜果然不靠谱,怎么说也是我 20 年长考的精华,不可能用这么笨拙的方法
ncisoft
12 天前
@kyuuseiryuu 我的方案其实可以理解为软件专利,没什么源代码的,只不过我没钱申请不起欧美专利
ncisoft
12 天前
@shawnsh 我同龄朋友有办理退休手续的
windsage
12 天前
@ncisoft 我说的是直接编译成 so 库这种二进制的机器码
ThinkCat
12 天前
talk is cheap ,如果是作为商业机密,可以申请专利保护,如果是科研,可以出论文,如果只是验证,请出一下测试结果。我也有一套系统,完美解决了现代 IM 的所有难点和痛点,效率和安全性超过 tg ,且占用资源极低。一旦商业化,将对现有 IM 行业带来降维式的打击,如果想要合作,请私信联系我。
ncisoft
12 天前
@windsage 你去看看 golang 吧,编译成二进制就没有了虚拟机了吗?

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

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

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

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

© 2021 V2EX