Floating Cat

谈JVM关闭与关闭钩子
JVM关闭通常而言,对于JVM的关闭我们很少去关注,但是了解JVM的关闭能帮我们在JVM关闭时做一些合理的事情。首先JVM的关闭方式可以分为三种: 正常关闭:当最后一个非守护线程结束或者调用了System.exit或者通过其他特定平台的方法关闭(发送SIGINT,SIGTERM信号等) 强制关闭:通过调用Runtime.halt方法或者是在操作系统中直接kill(发送SIGKILL信号)掉JVM进程 异常关闭:运行中遇到RuntimeException异常等。 在某些情况下,我们需要在JVM关闭时做些扫尾的工作,比如删除临时文件、停止日志服务以及内存数据写到磁盘等,为此JVM提供了关...
Java异常体系
异常体系异常是指由于各种不期而至的情况,导致程序中断运行的一种指令流,如:文件找不到,非法参数,网络超时等.为了保证正序正常运行,在设计程序时必须考虑到各种异常情况,并正确的对异常进行处理.异常也是一种对象,java当中定义了许多异常类,并且定义了java.lang.Throwable作为所有异常类的基类. Java语言设计者将异常划分为两类:Error和Exception,其体系结构大致如下图所示: Throwable有两个重要的子类:Exception和Error.Error是程序中无法处理的错误,表示运行应用程序中出现了严重的错误.此类错误一般表示代码运行时JVM出现问题.通常有...