Hook线程以及捕获线程异常

//调用线程回调方式,因为run方法不能抛出checked异常。所以发生异常后需要通过此方法回调异常至派生它的线程

public void setUncaughtExceptionHandler(UncaughtExceptionHandler eh);

public static void setDefaultUncaughtExceptionHandler(UncaughtExceptionHandler eh);

ThreadGroup 有实现UncaughtExceptionHandler接口

线程出现异常 ——>Main Group——>系统默认的UncaughtExceptionHandler

Hook线程的注入;

在虚拟机退出时执行

通过Runtime.getRuntime().addShutdownHook(Thread t);

Paths  JDK1.7提供的静态类

Paths.get(String first,String ... more)//将first与其他路径名拼接成Path对象,并且将拼接符转换成File.separator

PosixFilePermissions  JDK1.7提供的静态类

static FileAttribute<Set<PosixFilePermission>>  asFileAttribute(Set<PosixFilePermission> perms)

//创建一个FileAttribute ,封装给定文件权限的副本,适合传递给createFile或createDirectory方法。File类

static Set<PosixFilePermission>  fromString(String perms)

//返回与给定的 String表示相对应的一组权限

Hook线程作用:

Hook线程只能在退出时被执行,如果kill时采用了参数9。则Hook无法被执行。

可以做一些关闭数据库连接,文件句柄,socket连接等操作

发布了115 篇原创文章 · 获赞 57 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/qq_35211818/article/details/104185424