`
134564
  • 浏览: 20877 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java的shutdown钩子

 
阅读更多
线程内加个钩子
Runtime.getRuntime().addShutdownHook(new Thread(new ShutdownHook()));


private class ShutdownHook implements Runnable {

		@Override
		public void run() {
			//do same
		}

	}


需要说明的是, 在Eclipse里直接关java的进程调用不到钩子. 需要执行一个System.exit(1);
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JAVA虚拟机关闭钩子(Shutdown Hook).docx

    JAVA虚拟机关闭钩子(Shutdown Hook).docx

    java线程池实例详细讲解

    Java提供了四种预定义的拒绝策略,如抛出异常、忽略任务、调用系统关机钩子或自定义策略。 5. **生命周期管理**:线程池提供了一些方法来控制其生命周期,如`execute()`用于提交任务,`shutdown()`用于关闭线程池但...

    WEB服务器工作机制由浅至深(9):【How Tomcat Works】第16章关闭钩子以及之后的章节简述

    在深入探讨Tomcat服务器的工作机制时,我们来到了第16章,这一章主要讨论了“关闭钩子”(Shutdown Hooks)的概念及其在Tomcat中的应用。关闭钩子是Java应用程序中的一个重要特性,它允许我们在程序退出前执行必要的...

    通过JDK源码分析关闭钩子详解

    在Java编程中,"关闭钩子"是一种重要的机制,它允许开发者在应用程序退出或中断时执行必要的清理任务。关闭钩子,也称为Shutdown Hooks,确保即使在非正常退出的情况下,特定的代码块仍能得到执行。本文将深入探讨...

    将Java程序注册成系统服务.pdf

    - `wrapper.disable_shutdown_hook=TRUE`:禁用关闭钩子,允许在异常情况下忽略异常继续执行。 - `wrapper.console.loglevel`:设定控制台日志级别,决定显示哪些级别的日志信息。 在实际应用中,例如RCP项目,...

    64位tomcat一闪而过的解决方法

    7. **错误的shutdown钩子**:有时,一个未正确关闭的shutdown钩子可能导致Tomcat在启动时自动关闭。检查`bin/setenv.sh`或`bin/setenv.bat`文件,删除可能导致问题的钩子。 8. **服务注册**:如果在Windows上,尝试...

    shutdown-app

    - Java提供了"Shutdown Hooks"机制,通过在JVM关闭前注册钩子函数来执行必要的清理任务。可以使用`Runtime.getRuntime().addShutdownHook(Thread hook)`来添加一个钩子。 5. **Spring Boot应用关闭**: - 如果...

    graceful-shutdown-spring-boot:使用Spring Boot正常关闭(演示)

    1. **Shutdown Hooks**:Java提供了JVM关闭钩子(Shutdown Hooks),允许在JVM退出之前执行清理任务。在Spring Boot中,可以通过实现`DisposableBean`接口或者使用`@PreDestroy`注解的方法来注册这些钩子。当应用...

    JAVA并发编程实践-线程的关闭与取消-学习笔记

    15. **关闭钩子(Shutdown Hook)**:通过`Runtime.getRuntime().addShutdownHook(Thread hook)`注册自定义的关闭钩子,这些钩子在JVM关闭时执行,用于清理资源。 16. **精灵线程(Daemon Thread)**:精灵线程是不...

    09 Runtime

    - **RUNNING**:将状态更新为`HOOKS`,表示开始执行JVM关闭前的钩子函数。 - **HOOKS**:如果已经处于`HOOKS`状态,则直接退出,不再执行更多操作。 - **FINALIZERS**:如果状态为`FINALIZERS`,则进一步判断`...

    Java利用WatchService监听文件变化示例

    最后,为了确保在Java虚拟机关闭的时候能够释放资源并关闭WatchService,应该在程序中增加一个关闭钩子(shutdown hook),确保在JVM关闭的时候能够执行资源释放的相关操作,特别是关闭WatchService。 下面是一个...

    解析Runtime中shutdown hook的使用详解

    通常,这些钩子用于进行必要的资源清理,例如关闭文件流、数据库连接等。通过调用`Runtime.getRuntime().addShutdownHook(Thread t)`方法,可以将一个已经初始化但尚未开始执行的线程作为`shutdown hook`注册到JVM中...

    Tomcat 6 启动过程分析.doc

    接着,启动Server并注册一个shutdown钩子,确保在接收到系统关闭信号时能正确关闭Tomcat。最后,Catalina会进入监听状态,等待shutdown命令。 `load`方法负责初始化Server实例,包括设置系统属性、初始化命名服务,...

    Java应用中使用ShutdownHook友好地清理现场

     JDK在1.3之后提供了Java Runtime.addShutdownHook(Thread hook)方法,可以注册一个JVM关闭的钩子,这个钩子可以在以下几种场景被调用:  1)程序正常退出  2)使用System.exit()  3)终端使用Ctrl+C触发的...

    Java concurrency线程池之线程池原理(三)_动力节点Java学院整理

    在TIDYING状态执行完毕`terminated()`钩子函数后,线程池状态会转为TERMINATED。 线程池的核心控制变量是一个名为`ctl`的`AtomicInteger`,它同时存储线程池的状态和任务计数。`ctl`的32位中,高三位用于表示线程池...

    java多线程源码-ExecuteFramework:java多线程框架核心源码重写

    6. ShutdownHook:为了优雅地关闭线程池,通常会注册一个JVM关闭钩子(Shutdown Hook),在程序退出前,线程池能够完成正在执行的任务并清理资源。 通过研究ExecuteFramework-master源码,我们可以学习到如何设计和...

    elasticsearch-maven-plugin:一个Maven插件,用于在构建的集成测试阶段运行单个节点Elasticsearch集群

    使用stop目标终止它们,并且为了更加省心,使用JVM shutdown钩子终止它们。 每个实例都安装在$ {project.build.directory} / elasticsearch $ {instanceIndex}中。 对于Elasticsearch 1.xx和2.xx版本的支持,请...

    blog:日常工作中使用的技术沉淀+学习记录

    介绍 此项目是利用业余时间,对一些技术知识点进行整理,用来记录个人学习笔记。这个项目和 项目的不同在于 是用来动手实践,对于一些技术的实际搭建和造轮子的项目,正...Java虚拟机关闭钩子(Shutdown hook) 公众号

    ThradPoolDemo

    同时,`shutdown()`和`shutdownNow()`方法用于优雅地关闭线程池,前者等待所有已提交的任务完成,后者则尝试中断正在执行的任务。 此外,线程池还提供了其他高级特性,如定时任务(`ScheduledThreadPoolExecutor`)...

Global site tag (gtag.js) - Google Analytics