SpringBoot Pojo的免疫性

SpringBoot Pojo的免疫性,spring,spring-boot,Spring,Spring Boot,我知道b/w不可变对象和可变对象的区别。我需要公开REST API并将客户对象持久化到DB中。但是我已经了解到对象应该尽可能不可变。现在我有以下问题: 作为SpringBootWeb应用程序,对象何时符合GC条件?比如说,在特定客户的POST请求之后 不变性在这里有什么区别,因为我的新更新请求后的客户仍然会创建一个新对象 不变性不会改变GC的任何规则。不变性有很多优点(简单性、线程安全性、可用性作为映射中的一个键、可访问性、在不担心对象被修改的情况下传递对象的能力等等),但它们都与GC无关 当没

我知道b/w不可变对象和可变对象的区别。我需要公开REST API并将客户对象持久化到DB中。但是我已经了解到对象应该尽可能不可变。现在我有以下问题:

  • 作为SpringBootWeb应用程序,对象何时符合GC条件?比如说,在特定客户的POST请求之后
  • 不变性在这里有什么区别,因为我的新更新请求后的客户仍然会创建一个新对象

  • 不变性不会改变GC的任何规则。不变性有很多优点(简单性、线程安全性、可用性作为映射中的一个键、可访问性、在不担心对象被修改的情况下传递对象的能力等等),但它们都与GC无关

    当没有从GC根到该对象的强引用路径时,无论该对象是否不可变,该对象都符合GC的条件


    如果您没有将为表示请求主体而创建的customer对象存储在内存中(缓存、会话或类似的东西中),那么一旦请求得到处理,它就有资格使用GC。

    不变性不会改变GC的任何规则。不变性有很多优点(简单性、线程安全性、可用性作为映射中的一个键、可访问性、在不担心对象被修改的情况下传递对象的能力等等),但它们都与GC无关

    当没有从GC根到该对象的强引用路径时,无论该对象是否不可变,该对象都符合GC的条件

    如果您没有将为表示请求主体而创建的customer对象存储在内存中(在缓存、会话或类似的东西中),那么一旦请求得到处理,它就有资格使用GC