项目选型nodejs与java、golang那个好

特性nodejsjavagolang
最早发布时间200919962012
流行web框架express/Sequelizespringboot/springcloudgin/gorm
多线程v10.5.0后支持原生支持原生支持
协程支持暂不支持支持
面向对象原生不支持,可模拟,不支持多态原生支持面向过程,不支持继承
异常处理不够完善,容易产生性能问题稳定成熟较完善
标准库高速发展中稳定完善完善
异步IO语言级别支持1.7后支持NIO协程支持
健壮性单线程单进程模式,通过负载均衡、自杀重启提升能力支持多线程,支持多核,更加灵活可靠支持多线程,支持多核,更加灵活可靠
注解、反射、泛型原生支持支持反射,泛型尚未成熟
扩展性C/C++编写的逻辑扩展支持C/C++/及其他可被JVM执行语言编写的逻辑扩展支持跨各种语言调用
垃圾回收分代回收普遍分代回收,有多种垃圾回收算法可供选择标记清除
必备知识体系浏览器平台+nodejslinux、数据库、网络、高并发、系统监控linux、数据库、网络、高并发、系统监控
杀手锏        IO密集场景表现优秀生态圈强大活跃与k8s是兼容性好、可编译成二进制原生部署

架构选型建议:

统治级别领域,任何老板盲选的最优选择,特殊需求才选择其他

大数据、AI :jvm类语言、python人脉广泛

算法、内核级别:c/c++几十年沉淀,新挑战者力量尚且不足

灵活领域,需要综合考虑人力成本与硬件成本

中小企业:nodeJs容易培养全栈人才,资源利用率高,节省机器,人力成本与硬件成本有极大诱惑力,

大厂:大型项目中NodeJs健壮性尚且不足以挑战传统Java、golang等强类型语言,但胜在追求性能极致,适用于某些高并发/高性能领域,如美团网的订单吹,知乎“站内信”等

总体而言越接近基础设施层强类型语言越有优势,反之越接近人类具体使用场景则弱类型逐渐被喜爱,毕竟相同结果少写点代码谁都喜欢。

java由于出生早,当下流行android、hadoop等各种领域占据很大比例,短时间不会被后来者替代

当下风口上的云原生主要依托的k8s为golang构建,生态内go也就具备了天然优势。

NodeJs属于业界新秀,javascript使用人员数量极为庞大,极致的高性能也令同行黯然失色,不容小觑。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值