zoukankan      html  css  js  c++  java
  • Java内存管理的小技巧

    1.尽量使用直接量
        当需要使用字符串,还有Byte,Short,Long,Float,Double,Boolean,Character包装类的实例时,程序不应该采用New的方式来创建对象,而应该直接采用直接量来创建它们,程序需要“hello”字符串时,应该采用String str=“hello”;如果以上述方式创建字符串,JVM的字符串缓存池会缓存这个字符串。而用String str=new String("hello");此程序同样在字符串缓存池缓存这个hello,除此之外str所引用的String对象还包含一个char[]数组,这个char[]字符依次存放h、e、l、l、o等字符。

    2.使用StringBuilder 和 StringBuffer进行字符串连接
    String代表字符序列不可变的字符串,而StringBuilder和StringBuffer都代表字符序列可变的字符串。如果程序使用多个String对象进行字符串连接运算,运行时将产生大量临时字符串,这些会保存在内存中,从而导致程序的性能下降。

    5.避免在经常调用的方法、循环中创建Java对象
    这些对象的生存时间并不长,接下来系统又需要回收它们所占的内存空间,在这种不断分配,回收的操作中,程序的性能收到巨大的影响。

    6.缓存经常使用的对象
        使用HashMap进行缓存
        直接使用某些开源的缓存项目
    如果直接使用HashMap进行缓存,程序员需要手动控制HashMap容器里key-value对不至于太多,因为当key-value太多时将导致HashMap占用过大的内存,从而导致系统性能下降。
  • 相关阅读:
    每天一个topic----route 设置
    每周一个topic IGMP -- 2013.08.13
    HTTP API 加签名规则
    gitbook 编辑手册
    phpMyAdmin 配置文档
    扒房源线索消息推送设计
    jetty 必知必会
    回溯法解决八皇后问题
    求m行n列个方格的正方形总数
    IOC和AOP的简单实现
  • 原文地址:https://www.cnblogs.com/shangwne/p/3617551.html
Copyright © 2011-2022 走看看