资源自动关闭接口

AutoCloseable 接口

AutoCloseable 主要是用于日后进行资源开发的处理上,以实现资源的自动关闭(释放)。

例如:在以后进行文件、网络、数据库开发的过程之中由于服务器的资源有限,所以使用之后一定要关闭资源,这样才可以被更多的使用者所使用。

为了更好的说明资源的问题,将通过一个消息的发送处理来完成。

class CloseAPIDemo {
    public static void main(String[] args) throws Exception {
        /*try(IMessage iMessage = new MyMessage("消息进来了")) {   // 如果想要自动关闭使用这种格式
            iMessage.send();
        }*/
        IMessage iMessage = new MyMessage("消息进来了");
        iMessage.send();
        iMessage.close();
    }
}

public class MyMessage implements IMessage {
    private String msg;

    public MyMessage(String str) {
        this.msg = str;
    }

    public boolean open() {
        System.out.println("【open程序】");
        return true;
    }

    @Override
    public void send() {
        if (this.open())
            System.out.println("【**** 主程序信息发送 ****】" + this.msg);
    }

    @Override
    public void close() throws Exception {
        System.out.println("【程序关闭】");
    }
}
public interface IMessage extends AutoCloseable {
    void send();
}

此时实现了一个模拟代码的处理流程,但有个问题,既然所有的资源完成处理之后都必须进行关闭操作,那么能否实现一种自动关闭的功能呢?

在这样的要求下,推出了 AutoCloseable 访问接口,这个接口是在 JDK1.7 的时候提供的,并且该接口只提供有一个方法。

关闭方法: public void close() throws Exception;

image

在整个的过程中,只有结合了 AutoCloseable ,整个程序才能实现自动的Close 调用,这种操作形式是在 JDK1.7 之后新增的处理,在以后的章节之中会接触到资源的关闭问题,往往都会见到 AutoCloseable 接口的使用。

这个接口要和异常捆绑在一起明确使用才能正确完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值