对垃圾回收器的改进方案

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

8113 次点击
所在节点    Java
143 条回复
Ericcccccccc
7 天前
G1 现在的 stw 应该完全够用了啊。
tianshuang
7 天前
世界首创?
xubeiyou
7 天前
talk is cheap,show me the code
ncisoft
7 天前
@tianshuang 在我有限的认知范围内,确信是世界首创,你在网上见识过类似的技术吗
ncisoft
7 天前
@Ericcccccccc 新版 idea 就是用的 g1 ,不卡顿吗
june4
7 天前
简单机械的话,不能让程序自动处理吗
ncisoft
7 天前
@june4 抱歉,暂时还没想到怎么让程序自动处理
546L5LiK6ZOt
7 天前
只要不 new 对象就不会有 gc ,log4j 和 disruptor 就有 gc free 的设计,op 也是类似思路?
ncisoft
7 天前
@546L5LiK6ZOt 我鼓励 new 对象,Scala 少 new 对象了吗?

在垃圾回收器拉垮的年代,有的是人通过缓存对象的方式以试图减轻 GC 的压力,但这么做太反人性了
brant2ai
7 天前
这如果是真的,可能会把 Java 重新拉回宝座。话说你实际测试过没,有测试数据吗
ncisoft
7 天前
@brant2ai 过几天发测试数据,在寻找测试标的,只能找开放源代码的,可能会是 Elasticsearch ,Netbean/Eclipse 也是选项, 你有什么推荐吗?
cannotagreemore
7 天前
没有数据也没有 demo ,怎么看都有点民科的味道
ncisoft
7 天前
@cannotagreemore 我是学院路上 985 CS 毕业,有可能是民科?
brant2ai
7 天前
@brant2ai 多测几个吧,数量多了才有说服力
otakustay
7 天前
约等于什么都没说就找**商务**合作感觉太激进了,可以附带一些典型 GC 测试场景、典型算法、典型 spring 服务下启用和没启用的 profiling 差异数据,一般商务使用一定是在有数据支撑的情况下才会展开的,不至于瞎来
dragonfsky1
7 天前
计算机也有民科了吗
Ashe007
7 天前
你咋不拿个图灵奖?世界首创,整个 Oracle 的程序员都没想出来,全世界苦于 GC 问题的公司没想出来,给你想出来了
Ericcccccccc
7 天前
@ncisoft 卡顿是 g1 造成的。新的 g1 回收,暂停时间 10ms 以内,你感觉卡顿是它造成的吗?
zjp
7 天前
请教 JAVA 现在是如何应对 GC stop-the-world 导致的服务暂停?
ncisoft · 2016-06-01 03:13:01
有几年没跟踪技术了,也不知道在内存越来越便宜、堆越来越大的今天,JAVA 有什么好的解决方案了吗?比如 G1 实际效果如何?


16 到现在才 8 年吧...
idealcitier
7 天前
mark, 期待你的代码。

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

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

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

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

© 2021 V2EX