如何写代码才能避免内存泄漏?

内存泄漏,内存泄露就是在内存的某一个区域内,所使用的内存无法释放,最终导致整个内存空间变小。
内存泄露的原因,一定是代码写的有问题,主要有以下几个原因,
第一种情况是在写代码的时候,如果使用的IO链接没有关闭,或者使用的数据库链接没有关闭都会导致内存泄露,因为它会一直占用着资源,无法被回收。

下面通过几个例子来说明内存泄漏,首先第一个。

在Stack这个类中定义的成员变量Obgect数组,用来存储对象的数组,然后定义了一个size的int类型的整数,初始值为0。然后又定义了一个静态的final修饰整数的cap=16。在构造方法中创建了一个对象数组,初始值的数组大小是16。然后push方法中,往这个数组中存入对象。pop方法中,从这个数组中取出对象,然后,取出之后对这个数组中的位置所指向的对象实例引用设置为null。然后返回对象。
 

/**
 * 
 * 手写一个栈
 */
public class Stack {

    public Object[] elements;//数组来保存
    private int size =0;
    private static final int Cap = 16;

    public Stack() {
        elements = new Object[Cap];
    }

    public void push(Object e){ //入栈
        elements[size] = e;
        size++;
    }
    public Object pop(){  //出栈
    	size = size -1;
        Obje
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值