zoukankan      html  css  js  c++  java
  • java.lang.AutoCloseable

    java.lang.AutoCloseablejava.io.Closeable

    public interface AutoCloseable {
        void close() throws Exception;
    }
    
    public interface Closeable extends AutoCloseable {
        public void close() throws IOException;
    }
    
    • java.lang.AutoCloseableJDK7添加的新接口
    • AutoCloseable接口对try-with-resource提供支持
    • java.io.CloseableJDK5添加的接口。从JDK7开始,Closeable扩展了AutoCloseable。因此,在JDK7中,所有实现了Closeable接口的类也都实现了AutoCloseable接口。
    • AutoCloseable 是一个更高抽象层次的接口,不一定用在 IO 上,所以它里面的 close 方法抛出的异常是 Exception,而非 IOException。
    • Closable 只用作 IO 流上,所以 close 方法抛出的异常是 IOException。

    自定义AutoClosable 实现

    public class TryWithResource implements AutoCloseable {
    
    	@Override
    	public void close() throws Exception {
    		StackTraceElement stack[] = Thread.currentThread().getStackTrace();
    		for (StackTraceElement ste : stack) {
    			System.out
    					.println("called by " + ste.getClassName() + "." + ste.getMethodName() + " / " + ste.getFileName());
    		}
    	}
    
    	public static void main(String[] args) {
    		try (TryWithResource twr = new TryWithResource()) {
    			System.out.println("use end...");
    			throw new Exception("xxx");
    		} catch (Exception e) {
    			System.out.println("close error...");
    		}
    	}
    }
    

    参考资料

  • 相关阅读:
    基本命令
    Unicode Locale
    二进制查看编辑
    java reg
    java util
    js util
    跑到X
    [转]Linux AIO :libaio
    [转]c++ atomic操作
    [转] dpdk笔记
  • 原文地址:https://www.cnblogs.com/huangwenjie/p/9292910.html
Copyright © 2011-2022 走看看