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

    1,尽量使用直接量。
        采用String str="hello"; 而不是 String str = new String(“hello”);
    2,使用StringBuilder和StringBuffer进行字符串连接。
        String、StringBuilder、StringBuffer都可代表字符串,其中String代表字符序列不可变的字符串,而StringBuilder、StringBuffer都代表字符序列可变的字符串。
    3,尽早释放无用对象的引用
     Object obj = new Object();
        ...
        obj=null;
    4,尽量少用静态变量
        class person
        {
            static Object obj=new Objecet();
        } obj 是Person类的静态变量,它的生命周期与Person类同步,在Person类不被卸载的情况下,Person类的Class对象会常驻内存,知道程序运行结束。
    5.避免在经常调用的方法、循环中创建Java对象。
    6,缓存经常使用的对象
        对于经常使用的对象,可以考虑把这些对象用缓存池保存起来。典型的缓存就是数据连接池,数据连接池里缓存了大量数据库连接,每次程序需要访问数据库时都可以直接取出数据库连接。
        使用HashMap进行缓存;直接使用某些开源的缓存项目,如OSCach、Ehcache.
    缓存设计本身就是一种以牺牲系统空间来换取运行时间的技术,不管是哪种缓存实现,都会使用容器来保存已用过的对象,方便下次再用。
    7,尽量不要使用finalize方法
    8,考虑使用SoftReference
        SoftReference是个很好的选择,当内存足够时,它的功能等同于普通引用,当内存不够时,它会牺牲自己,释放软引用所引用的对象。​
     
        
     
  • 相关阅读:
    OpenMP笔记(一)
    Ubuntu16.04编译OpenCV3.4.7
    Ubuntu16.04编译tensorflow的C++接口
    win10编译tensorflow C++接口
    Qt5学习笔记(1)-环境配置(win+64bit+VS2013)
    Qt creator中配置opencv win7 64bit
    MYSQL其他常用函数
    MySQL 8.0中的新增功能
    MySQL中的JSON函数(三)修改JSON的函数
    MySQL中的JSON函数(二)查询JSON函数
  • 原文地址:https://www.cnblogs.com/happinessqi/p/3462800.html
Copyright © 2011-2022 走看看