1 rykinia 2021-08-12 10:56:20 +08:00 |
![]() | 2 cubecube 2021-08-12 10:58:30 +08:00 几百兆夸张了,spring boot 空项启动目大概 50M 内存。 |
3 dqzcwxb 2021-08-12 11:01:06 +08:00 ![]() 又要功能多又要瘦 那我诚招妹子,要求简单,腰细胸大即可 |
4 fkdog 2021-08-12 11:02:21 +08:00 micronaut |
5 hcen1997 2021-08-12 11:03:23 +08:00 换个思路, 是不是以前的代码没有 ioc 功能 ioc 功能是不是在现在的软件开发当中是非常重要的, 那么实现这个功能就要一定的代码量, |
![]() | 6 abcbuzhiming OP @cubecube 空项目有啥用呢,你加个最基础的 web 依赖试试 |
![]() | 7 ikas 2021-08-12 11:27:27 +08:00 功能多怎就消耗内存了?只用 ioc,那么只引入 context 就好了,也就几个核心依赖 |
![]() | 8 pengtdyd 2021-08-12 11:30:41 +08:00 杞人忧天 代码优化 1w 遍,远没有花钱买个好一点的服务器强 |
![]() | 9 ufan0 2021-08-12 11:39:06 +08:00 1. 一个非常简单的 Api 跑起来背着一大坨依赖,内存占用几百 M 那都算是少的 你所谓的几百 M 是直接在 Linux 上看的吧,怀疑你的查看方式,其并非真实内存占用。 2. 想瘦身,多排除依赖,但是效果并不明显,因为这个内存占用并没有几年前的帖子说的那么高。 3. 不喜欢 Spring 家族考虑一下 Vert.x,我们网关 All in Vert.x 了,但是仅觉得写异步顺手。 |
11 Cbdy 2021-08-12 12:06:44 +08:00 via Android Spring 官方的例子,一个 CURD 的 demo,启动内存可以控制在 20M |
12 Cbdy 2021-08-12 12:10:33 +08:00 via Android |
![]() | 13 chendy 2021-08-12 12:24:32 +08:00 瘦身的方向和目标是什么?如果是减少内存使用的话,其实直接加参数就能限制住,顶多内存不够用频繁 gc 导致性能下降 |
![]() | 14 sagaxu 2021-08-12 12:35:16 +08:00 via Android ![]() 别折腾了,换 Go 吧 |
![]() | 15 renyijiu 2021-08-12 12:39:42 +08:00 micronaut quarkus 为什么没有呢? |
16 Ayanokouji 2021-08-12 13:04:28 +08:00 Spring Native |
19 Lemeng 2021-08-12 13:11:12 +08:00 最不喜欢折腾如我。 |
![]() | 21 sue0917 2021-08-12 13:37:11 +08:00 思考这些东西不如加钱升级内存 |
![]() | 22 jack778 2021-08-12 13:40:48 +08:00 用 jfinal 吧,作者有强迫症,只需要导入核心包,核心包不依赖任何第三方 jar. |
![]() | 23 cheng6563 2021-08-12 14:53:16 +08:00 换 openj9 的 jvm,内存给你干一半下来。 |
![]() | 24 nekoneko 2021-08-12 16:44:08 +08:00 还想用 spring 还要瘦身那就 spring native 然后可以考虑 quarkus,国内文档少 |
25 securityCoding 2021-08-12 16:45:22 +08:00 @sagaxu +1,换 go 可以多活几年 |
![]() | 26 passerbytiny 2021-08-12 17:36:47 +08:00 via Android 你要想瘦身源代码那还可以去开发者社区讨论讨论,你要想瘦身运行时占用,那建议直接换掉 JavaSpring 程序的资源占用没有比非 Spring Java 程序的高。 此外,Java 内存占用只是预分配占用高,实际上并不高。通过合理配置 JVM 参数,几十 M 内存就能支撑起小型服务器。 |
![]() | 27 mmdsun 2021-08-12 18:59:25 +08:00 via Android vert.x,akka,jooby 也行。不过占用也高,只能看 spring native 出来后了。 要是 java 系找不到除 spring 好用的框架就看.net 系列,java 程序员基本上可以无缝对接,比如: [asp.net core] 这个 web api 和 spring boot 差不多,外国框架热度已经超过 spring 了 https://dotnet.microsoft.com 数据访问层,相当于 spring data jpa: https://docs.microsoft.com/zh-cn/ef/core/ [Web 性能排名:] vert,x 前 20,spring 在后面 50 左右,asp.net 前十: https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=composite |
28 jin7 2021-08-13 08:39:50 +08:00 换 c# |
![]() | 29 zzzmh 2021-08-13 10:06:28 +08:00 jvm openj9 是一个方法,放在 docker 里运行限制内存优先 swap 是一个方法,这 2 个也可以结合一起用。 如果要治本,换 go 也可以,一定要 java,自己写 servlet,没开玩笑,servlet 真的可以实现 springboot 所有功能,只要你有本事和耐心写。。。不用 tomcat 都行,自己写 http 服务。就是累挺,有这时间,不如买个内存大点的服务器 |
![]() | 30 Joker123456789 2021-08-18 16:19:17 +08:00 不知道你为什么会对 IOC 有如此强的依赖, 如果可以不用 IOC 的话,vert.x 是个好选择。 或者你可以自己写一个 vert.x plus,给 vert.x 加上 IOC 的特性,作为分支发布。 |