开发者社区> 问答> 正文

SpringBoot打包成jar之后在Linux执行,然后删除jar,程序应存在,可请求,为什么?

SpringBoot打包成jar之后在Linux执行,然后删除jar,程序应存在,可请求,为什么?

SpringBoot打包成jar之后在Linux执行,然后删除jar,程序应存在,可请求,为什么? 如题的提问,这是最近发现的问题,不知道为什么,查看源码并没有发现,希望得到解释,谢谢。

展开
收起
问问小秘 2020-01-09 17:53:58 3457 0
2 条回答
写回答
取消 提交回答
  • 为之则易,不为则难

    java是按需加载的,springboot启动的时候,除懒加载外的所有bean都会被注册并实例化到bean容器中,所以当你删除了jar之后,内存中依然存在有原加载并实例化后的对象,所以你可以访问,因为所有的controller都是启动的时候就实例化了的,所以删除jar之后依然可以访问,你可以试试再controller中调用创建某个对象的方法,试试删除之后调用创建方法能不能正确创建对象。

    2020-01-09 18:00:58
    赞同 展开评论 打赏
  • 不断奔跑的开发者

    程序所需要的累都加载到jvm里了

    2020-01-09 17:56:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载