有什么像 golang 一样低内存占用, 但是语法更偏向 Java /c++/js 的语言吗?

2021-07-30 12:32:39 +08:00
 zoharSoul
10673 次点击
所在节点    程序员
77 条回复
abcbuzhiming
2021-07-31 16:03:59 +08:00
@ipwx Java 的线程模型是 1 比 1 换成内核线程的模型。这个东西在经典时代是足够的,但是在现在就未必了,其实 Java 一直在折腾新的携程模型。

另外,我的本意是,部署一个 Java 项目(线程),哪怕是比较小的项目,拖着一个巨大的虚拟机和基本函数库,也造成其启动内存占用偏大,和启动速度太慢
c88155745
2021-07-31 16:18:25 +08:00
我能说 php 么,这内存占用也不是很高
BadMan
2021-07-31 16:42:26 +08:00
@x940727 还是有的,我在鹅厂,公司服务端从 3 年前开始就开始转 golang,已经形成不可逆的趋势了,像 qq 这类核心业务的新服务也用 golang 啦。另外,字节和虾皮的主流语言也是 golang,还是可以的。
Kasumi20
2021-07-31 16:47:58 +08:00
Rust,不需要 GC
sagaxu
2021-07-31 17:34:17 +08:00
Java 生态打的 docker 包太可怕了,一个极简的 image 也要 100M 起步,常见的 300M 左右,我还见过一些 1G 以上的。

内存占用,Java 起步也是 200M,大项目不是问题,小项目虚拟机开销比业务逻辑还大。

启动时间,Java 项目一般 5 秒以上,30 秒也不算多,启动一次要 5 分钟以上的我也见过。即使用 vertx 之类轻量级高性能框架,启动时间也是 1 秒左右,做不到百毫秒级别。

Java native 目前几乎不可用,不仅要每个库的作者维护好编译成 native 的 meta 信息,还需要很长的编译时间,本身编译就够慢了,再来个更慢的步骤,咋整。
ipwx
2021-07-31 19:03:33 +08:00
@abcbuzhiming ummm 我指的就是大一点的后端。。。小项目那没办法。
FightPig
2021-08-01 02:16:38 +08:00
vlang 啊
dbpe
2021-08-01 09:48:01 +08:00
@iseki +1

一些人把 Spring 和 Java 绑定,然后又抱怨 Java(Spring)占用内存大
ginjedoad
2021-08-01 11:11:02 +08:00
Rust: 我不需要 GC !还有谁!
x940727
2021-08-01 13:36:52 +08:00
@abcbuzhiming
@sagaxu 因为你们用的是 Java8 吧,Java11 自己用 jlink 不就可以大幅降低 jre 大小了吗,说白了,JDK8 是一个超级巨大的分水岭,8 以前的很多缺陷,其实在模块化之后就解决了,但是对于程序员的水平有比较高的需求。还有启动时间和内存占用就更离谱,这个分明是 Spring 慢,占用内存大,丢给 Java 就有点过分了,自己去看看 Netty 的 Web 服务器启动速度和内存占用还有性能?
iseki
2021-08-01 23:06:00 +08:00
go 编译启动是快,但是语法和生态都这么差劲…受不了啊
wellsc
2021-08-01 23:16:02 +08:00
@ginjedoad zig c++都可
wellsc
2021-08-01 23:17:19 +08:00
@hushao 不是直接拿 java 的生态就能
用?
Leviathann
2021-08-02 02:45:58 +08:00
@hushao 我们也在用 kotlin 写后端,完全无缝兼容 Java 生态啊,甚至 kotlin 在 jvm 上的标准库很多东西底层都是直接用的 Java 的库,包括最最基础的集合库,然后添加了 n 多扩展方法,用起来超顺手

还是说这个生态指的是协程?我们都是写业务,没有并发压力所以没有调研过这块
jin7
2021-08-02 08:28:34 +08:00
CSharp 唯一的选择
q2551430130
2021-08-02 09:11:59 +08:00
C#
ly841000
2021-08-02 13:13:09 +08:00
@abcbuzhiming .net native 编译现在 RC 了,基本可用,winform asp core 都能正常使用,不过编译出来的空间占用不小,asp core 得 30M 40M

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

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

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

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

© 2021 V2EX