我有一个软件设计模式的设计,用途是减轻垃圾回收的压力,能使得垃圾回收更加轻量和平滑,减少对内存的消耗和暂停时间。可用在支持分代垃圾回收器的语言,如 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
102
tuokamuta 136 天前
Talk is cheap.
|
103
tuokamuta 136 天前
“可以做到以 Java OOP 方式开发系统,达到或接近函数式编程语言的垃圾回收表现,而无需转换到 JVM 平台上的 Scala 函数式语言”
有没可能有能力的公司直接就用 Scala 重构,小公司没必要关注 GC ? |
104
ncisoft OP @tuokamuta 多一些选择不是更好吗?有 Azul C4 珠玉在前,我不也端出了新的方案?
如果能接受引入一门新的 Scala 语言,那当然很好,LinkedIn 就是 Scala Java 双修 https://www.quora.com/Is-LinkedIn-getting-rid-of-Scala |
107
v2orz 136 天前
mark 一下,没看到具体测试数据或者代码前,先不急着下结论
|
108
BeijingBaby 136 天前 2
改进 java gc 最好的办法就是不用 java
|
109
Daniel17 136 天前
围观
|
110
lrvy 136 天前
talk is cheap, show me the code
|
111
ccpp132 136 天前 4
想了 20 年都没测试过数据吗
老哥你的研究方式还有很多提升空间 |
112
mrzhu 136 天前
Talk is cheap. Show me the code
|
113
janus77 136 天前
看起来好像东西都没出来呢,就开始招商了吗。。
不过我插句嘴啊,虽然这是世界首创,那有没有两种可能: 1. 大厂内部有这块的研究了,只是初步尝试后发现性能实际上并不行,所以放弃了 2. 你能做出来,但是初版性能很差,后期光靠你一个人的力量也达不到商用的标准(简言之就是友商的东西比你更好用),那也没法做商业化 |
115
brucedone 136 天前
我有一个 ppt 系列?你倒是提供可复测的环境,数据,实验结论啊?
|
118
mark2025 136 天前
可以先申请专利吧
|
120
9c04C5dO01Sw5DNL 136 天前
验证 demo 出来了踢我
|
121
ncisoft OP @giiiiiithub 不会有 demo ,只会有对比测试代码和数据
|
122
xibeifeng 136 天前
|
124
sunzhenyucn 136 天前
talk is cheap. show me the code
|
125
Tomatopotato 136 天前
我看你的行文方式很像民科,但是看你写的内容又很专业。
你如果真的有东西,也别跟人争论了。。建议是直接整点可见的结果。 |
126
powerman 136 天前
@xue777hua #65 确实,目前 Java 看不到需要 极致低延时的场景,有这个需求,直接上 C/C++了,不需要在 Java 上搞这个,另外,都找人搞 ,机器相比人工 太便宜了,便宜到真的,随便开掉一个 Java 开发,就能上十几台机器
|
127
grzhan 136 天前
paper 也好 benchmark 也好,有数据和方案的话也可以同步发到 hacker news 讨论
|
128
meilicat 136 天前
talk is cheap. show me the code
|
129
InkStone 136 天前
单就 OP 提的这个方案,看起来应用价值不大
对代码进行重构的代价,写代码本身只占很小的一部分,代码重构后的测试、发布流程才是大头。 如果我都能接受对代码进行重构了,其实用 Go 、Rust 之类的语言把热点重写一遍,内存占用就会显著下降了(身边挺多这样的实践);但如果我没打算进行大规模重构,那单改一块热点代码来适配 GC ,除非收益真的特别大,不然很难想象这样的技术改造能通过评审…… |
132
eisuto 136 天前
蹲一下测试数据
|
133
ncisoft OP @janus77 Regarding 你说的第一种可能,那些大厂为什么不公开发表博客或 Paper ,给自己 PR 一波不香吗?毕竟大厂自己已经用不上了
|
136
xue777hua 135 天前
@ncisoft 别改造 Idea 、PyCharm 了 没意义。甚至都不会有人鸟你。
你如果真的想做事,想好自己的竞争对手: 1. 是那些 AOT 的 JVM 如 GraalVM 。但这些 AOT 的 JVM 经过数年发展,生态已经逐渐完善了。你掂量下自己多久能追上人家的生态。 2. 可能才是 Azul 。如果你真的把他们当作竞争对手,那就不要搞什么 Idea 、PyCharm 这种没用又无聊的东西。从 HBase/SparkSQL 开始搞起来,内存直接干到 10TB ,跑 benchmark ,然后发论文。 否则在这扯淡,你真以为赚钱是大风刮来的?在这打算是吸引小公司 CTO ?为了替换自家免费的 PyCharm 和 IntelliJ Community 用你的收费的一个 GC 算法?这不是搞笑么? |
138
ncisoft OP @xue777hua
纠正你的一个认知盲区,GraalVM 并没有因为 AOT 就没有垃圾回收问题了。Unity 的 IL2CPP 也是如此。详情见官网介绍。所以并不是我的竞争对手,赛道不一样。 https://www.graalvm.org/latest/reference-manual/native-image/optimizations-and-performance/MemoryManagement/ |
139
flyqie 134 天前 via Android
有些不解,如您所说,您在技术社区的活跃时间不短,那么该帖子为什么没有发布任何的评测数据,反而最后着重于洽谈商业合作?
我入行时间比您短的多,但据我所见,技术社区似乎并不欢迎这种模式,您作为前辈对这点应该是了解的吧,特别还是您这种底层优化方案。 其次,您既然提到了您的方案更加有优势,那么是您怎么得出的结果呢,看您的帖子和回复似乎一直说过一阵子再发。 我相信您的履历,但目前光凭该帖子还是感觉有点难以完全信服,期待您能尽快给出相应的评测数据。 |
141
xue777hua 134 天前
@ncisoft 我没有说 GraalVM 由于 AOT 解决垃圾回收问题。不知道你哪里听出来的,甚至直接判断是知识盲区。
本想继续给你从商业角度提醒更多的用户场景,但是觉得没必要了。 下面评论的其他人不了解,虽然我司是真的潜在用户之一,我们就是典型的大内存低延迟,但不会选择你的方案。 |
142
devliu1 134 天前 via Android
你 idea 如果可以的话,先发 arxiv 占坑也行。
|
143
ncisoft OP @xue777hua GraalVM 既然是娘胎自带 GC ,那怎么会和我的方案存在竞争关系呢,为何还要跟它的生态竞争?难道不是相辅相成关系吗?你的评论我是没看懂
|
144
ychost 121 天前
java GC 还好吧,多加点机器的事情,机器成本不高
|
145
main1234 114 天前
所以这么多天了,还是没有发测试报告么
|