Maison  >  Questions et réponses  >  le corps du texte

JAVA代码如何优化?

黄舟黄舟2765 Il y a quelques jours364

répondre à tous(1)je répondrai

  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:11:25

    首先,代码这种编写方式相对来说还是比较清晰的,除了查询Json数据应该封装到DAO层去,不是对性能有极端要求,不建议做过多优化。
    但是如果真有必要,提供几个优化思路:

    1. 如果你的BlackList很大,
      1.1 可以预估取出值的数量,在新建的时候可以调整capacity,甚至调整load factor,以免多次开辟内存空间;
      1.2 或者创建一次就直接进行缓存,用触发式的更新机制,避免重复创建;
      1.3 用TreeMap替代HashMap,可以略微提升查询性能,其实你这个场景完全可以用Set,可以略微减小内存开销;
      1.4 可以把这个List的Id写入到redis或者memcached中去,这样不占用本应用的内存空间。
    2. Json反序列化可以使用性能更高的类库,比如Jackson,fastjson
    3. 如果你获取数据的那端可以控制,可以考虑性能更高的序列化方法,比如protobuff。
    4. 查询结果的List如果数量可以预估,那么也可以设定初始的capacity。

    感觉你自己提的想要1w个对象,却不想创建1w个对象,这感觉自我矛盾的事情,貌似是没有任何办法的。

    répondre
    0
  • Annulerrépondre