springboot内存占用大_云原生时代的Spring Boot

本文探讨了Spring Boot在云原生时代面临的启动慢和内存占用大的问题。启动慢主要由代码编译引起,而内存占用多的问题随着G1和ZGC的改进得到缓解。Spring官方实验项目spring-graalvm-native提供了AOT编译解决方案,但目前仍处于alpha阶段。GraalVM虽有局限,如动态类加载和资源访问等,但它为优化Java应用提供了新途径。Java的未来特性,如AOT和Loom,有望进一步解决这些问题,但其成熟度尚待观察。
摘要由CSDN通过智能技术生成
1eb14fb0e8af1d7d8e8622b86b2e1bd5.png

Spring Boot毫无疑问是Java后端开发的第一大框架,基于Spring Boot有着一套完整的工具链,各种各样的starter。对于日常业务开发而言,可以说是轮子很全。

但随着云原生时代的到来,Spring Boot应用或者说是Java应用却暴露出了一些问题,其中比较突出的有:

  • 启动慢
  • 应用内存占用多

其中启动慢的主要原因:代码编译。

当然对于Spring Boot来说,Bean实例注入也会花费一定的时间,但花费时间相比编译会小的多。大家可以通过开启延迟初始化试试。

spring:  main:    lazy-initialization: true

Spring Boot 2.2开始支持。

个人本地开启延迟初始化之后,启动能快了1~2秒,整个启动时间10秒左右。

测试机配置:i7-6500U 2.50@GHz 内存:16G

内存占用多主要是内存占用后不会归还操作系统,这个正在逐步改善:

  • G1 JDK12及之后 已支持
  • ZGC JDK13及之后 已支持

由于Java语言的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值