gpt4 book ai didi

Java - Java8 中的 JVM 垃圾收集器

转载 作者:行者123 更新时间:2023-12-02 04:49:58 25 4
gpt4 key购买 nike

我有一个基本的 SpringBoot 2.1.5.RELEASE 应用程序。使用Spring Initializer、JPA、嵌入式Tomcat。就Java垃圾收集而言,我猜该服务的选项B比选项A更好,因为对象不会保留在内存中,对吗?

选项A:

@Override
public List<HotelPriceSummary> overRanked7d(User user) {

List<HotelPriceSummary> overRanked7dList =

allNonFavoritedHotels(user)
.parallelStream()
.filter(HotelPriceSummary.overRanked7dHotelsPredicate())
.sorted(comparing((HotelPriceSummary cps) -> cps.getDailyPercentageChange()).reversed())
.collect(toList());

return overRanked7dList;
}

选项B:

@Override
public List<HotelPriceSummary> overRanked7d(User user) {

return

allNonFavoritedHotels(user)
.parallelStream()
.filter(HotelPriceSummary.overRanked7dHotelsPredicate())
.sorted(comparing((HotelPriceSummary cps) -> cps.getDailyPercentageChange()).reversed())
.collect(toList());


}

最佳答案

从 JVM 实现的角度来看,唯一的区别是声明一个对返回对象的新对象引用。因此,在这两种情况下都不会创建新对象,也不会使用新内存。从编码角度来看,选项 B 是首选。

关于Java - Java8 中的 JVM 垃圾收集器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56451285/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com