首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java代码优化,堆大小约束(使用较少的内存)

Java代码优化,堆大小约束(使用较少的内存)
EN

Stack Overflow用户
提问于 2022-09-10 03:31:04
回答 1查看 87关注 0票数 -1

在运行此代码时,我面临内存异常,约束是堆大小。如果有进一步优化这段代码的方法,有人能提出建议吗?

代码语言:javascript
复制
public class getCustomerList {
  public static List <Customer> retrieve() throws ParseException {
    List<Customer> customers = new ArrayList<Customer>();
    for (int i = 0; i < 100000; i++) {
      Customer customer = new Customer();
      customer.setAge(new Integer(i));
      customer.setBirthDate((new SimpleDateFormat("ddMMyyyy")).parse("01061986"));
      customer.setName("Customer" + new String((new Integer(i)).toString()));
      customers.add(customer);
    } 
    return customers;
  }
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-10 08:26:05

很少有可能有帮助的想法:

如果年龄原语已经存在,则提供一个Integer.,而不是一个int

代码语言:javascript
复制
customer.setAge(i);

  1. SimpleDateFormat移出循环之外,目前您创建了100000个相同的实例.

代码语言:javascript
复制
customer.setBirthDate(format.parse("01061986"));

  1. 您真的需要为每个客户提供100000个相同的Date实例吗?如果没有,您可以在每个客户中设置相同的日期实例。

代码语言:javascript
复制
customer.setBirthDate(date);

  1. 当前名称的创建效率很低,您可以创建Integer对象,然后从它创建字符串(并丢弃整数),然后创建所述字符串的副本(并丢弃初始字符串)。只管做:

代码语言:javascript
复制
customer.setName("Customer" + i);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73669086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档