SpringBoot打包成jar之后在Linux执行,然后删除jar,程序应存在,可请求,为什么?
SpringBoot打包成jar之后在Linux执行,然后删除jar,程序应存在,可请求,为什么? 如题的提问,这是最近发现的问题,不知道为什么,查看源码并没有发现,希望得到解释,谢谢。
java是按需加载的,springboot启动的时候,除懒加载外的所有bean都会被注册并实例化到bean容器中,所以当你删除了jar之后,内存中依然存在有原加载并实例化后的对象,所以你可以访问,因为所有的controller都是启动的时候就实例化了的,所以删除jar之后依然可以访问,你可以试试再controller中调用创建某个对象的方法,试试删除之后调用创建方法能不能正确创建对象。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。