You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL执行后字符串引用驻留堆内存,疑似内存泄漏求助

诡异的内存泄漏问题排查求助

近期遇到一个十分诡异的内存泄漏问题,恳请各位帮忙排查解决。

public Mono<Boolean> insertOrders(List<ClientOrder> orders) {
    if (orders.isEmpty()) {
      return Mono.just(true);
    } else {
      var sqlBuilder = new StringBuilder().append(OrderQueries.INSERT_ORDERS_START);
      for (var i = 0; i < orders.size(); i++) {
        var order = orders.get(i);
        sqlBuilder.append(String.format(
          OrderQueries.INSERT_ORDERS_PARAMS,
          order.getUserId(),
          order.getUserName(),
          order.getCustomerEmail(),
          order.getCustomerMobile(),
          order.getAmount(),
          order.getCreateDate(),
          order.getStatusChangeDate(),
          i == orders.size() - 1 ? ';' : ','
        ));
      }
      return this.databaseClient.sql(sqlBuilder.toString()).fetch().rowsUpdated()
        .doOnError(log::error)
        .map(rows -> rows == orders.size());
    }
  }

执行heapdump后发现,SQL查询语句的字符串引用一直被保留,无法被GC回收。

HEAP DUMP

内容的提问来源于stack exchange,提问作者Alexander

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 08:12:04