- 浏览: 578348 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
关键字: shutdownhook
要想在JVM关闭的时候,来执行程序的一些操作,比如:保存一些该保存的日志,数据等,我们可以利用JDK提供的ShutdownHook钩子来实现。
JDK中定义:public void addShutdownHook(Thread hook);
即向虚拟机添加关闭的钩子程序. 请注意, 该 hook 线程必须是已经初始化但是没有运行的线程, 这个线程将在虚拟机响应用户的中断之前运行, 例如按下 ^C, 或者系统范围的事件, 例如注销或者关闭系统时.
下面是个简单的例子:
import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFrame; /* * @author Seyo <SEYO816@GMAIL.COM /> */ public class Application extends JFrame { private FileWriter fw_log; private BufferedWriter bw_log; public static void main(String[] args) throws Exception { Application frame = new Application(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.processApp1(); frame.setVisible(true); } public Application() throws IOException { fw_log = new FileWriter("log.txt"); bw_log = new BufferedWriter(fw_log); setSize(200, 100); setLocation(100, 100); setTitle("Test for ShutdownHook"); Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { endApp(); } });; } public void processApp1() throws IOException { bw_log.write("testing"); bw_log.newLine(); } // close the log file public void endApp() { try { bw_log.close(); } catch (IOException e) { System.err.println(e); } } }
该程序运行的时候打开一个简单的窗口,我们要实现的是在关闭窗口后,往log.txt写入:testing 。只需要在构造函数中加入:
Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { endApp();//为程序中自定义的代码。 }
发表评论
-
日期比较
2013-06-13 16:21 1176比较日期: function compareDate( ... -
Arrays.asList详解
2012-09-10 09:52 889Arrays.asList详解 记得以前写过一 ... -
Collections.addAll
2012-09-07 18:04 2330collections用法以及list 简单实例 Colle ... -
string
2012-09-06 17:20 891String a = "ab"; ... -
图片复制
2012-07-05 11:53 1068import java.io.File;import java ... -
thumbnailator 图片缩放
2012-07-04 20:10 1386Thumbnailator是一个用来生成图像缩略图的 J ... -
java File
2012-06-29 13:53 1278直接下载的,整理的很好,这里做个记录,基础的东西都是。 Fi ... -
mysql 时间比较
2012-06-05 19:57 1弱智得问题,分开写 SELECT * FROM bb_ ... -
split
2012-05-23 10:46 1203//String[] idArr = StringUtil ... -
(转)关于Integer大小比较的问题
2012-05-18 10:32 878关于Integer大小比较的问题 昨天跟朋友一起 ... -
toString
2012-05-14 20:01 1005public abstract class ToStringB ... -
io读取操作
2012-03-09 16:18 963public void writeFile(Strin ... -
string[] to map
2012-03-03 17:23 1085public static Map<Inte ... -
tomcat中文问题的解决
2012-03-01 09:55 861第一,存文件必须以一种编码存;读文件也必须以一种编码读,如不特 ... -
java方式将汉字转成拼音
2012-02-24 13:02 1063/** * 需要一个开源的jar包pinyin4j-2.5. ... -
System.getProperty(key)
2012-02-15 15:08 1020public static void main(String ... -
CodeFilter
2012-05-22 11:14 840package com.bitbao.cm.common.ut ... -
Integer值比较误区
2012-05-22 11:14 938例子: Integer i1 = 12; I ... -
容易忽略的for循环问题
2012-01-18 15:33 11751、项目中对用户操作的结果进行审核时候,出现一个问题,如果对省 ... -
java实现的加密工具类(支持MD5和SHA)
2012-01-13 16:08 1272版权声明: dtstudy原创文章,转载请注明出处: h ...
相关推荐
ShutdownHook-Java 优雅停机解决方案 ShutdownHook 是 Java 语言提供的一种钩子机制,当 JVM 接受到系统的关闭通知之后,调用 ShutdownHook 内的方法,用以完成清理操作,从而平滑的退出应用。这种有计划平滑的...
Java中得ShutdownHook提供了比较好的方案。 JDK在1.3之后提供了Java Runtime.addShutdownHook(Thread hook)方法,可以注册一个JVM关闭的钩子,这个钩子可以在以下几种场景被调用: 1)程序正常退出 2)使用...
RMI泥浆 跑步 make mud rmiregistry java src.MUDServerMainline <registry> ... 处理用户离开/加入服务器或 MUD,使用MUDServerMainline的shutdownhook MUDServerMainline和服务器端方法playerDisconnect
在Java应用中,特别是对于SpringBoot这类框架,开发者通常会注册一个`ShutdownHook`,这是一种在JVM退出前执行的回调机制。例如,在上面的代码中,当使用`Runtime.getRuntime().addShutdownHook()`方法注册了一个新...
6. ShutdownHook:为了优雅地关闭线程池,通常会注册一个JVM关闭钩子(Shutdown Hook),在程序退出前,线程池能够完成正在执行的任务并清理资源。 通过研究ExecuteFramework-master源码,我们可以学习到如何设计和...
14. **JVM关闭**:当JVM退出时,可能有一些线程还在运行,因此需要注册`ShutdownHook`,这是一组在JVM关闭时执行的钩子函数,用于执行必要的清理工作。 15. **关闭钩子(Shutdown Hook)**:通过`Runtime....
2. **自定义ShutdownHook**: 可以通过注册一个Java的`ShutdownHook`来控制停机流程。在`SpringApplication.addListeners()`中添加一个监听器,当接收到停机信号时,执行你的清理逻辑,然后调用`System.exit(0)`来...
在Java编程中,`Runtime`类的`shutdownHook`是一个重要的特性,它允许开发者在Java虚拟机(JVM)即将关闭时执行清理任务。本文将深入解析`shutdown hook`的使用,以及它在不同场景下的应用。 首先,`shutdown hook`...
`ShutdownHook`是Java的机制,用于在JVM关闭时执行清理工作。更新Proxool库以修复此类问题,确保正常关闭连接池并释放资源。 综上所述,理解并正确配置Proxool连接池参数对于提升应用程序的性能和稳定性至关重要。...
在关闭服务端时,使用 kill -2 命令可以触发 Java 的 ShutdownHook 事件处理,而 kill -9 命令则会强制杀死进程,不会执行 ShutdownHook。 七、优雅停机的实现原理 优雅停机的实现原理是基于 Spring Boot 的 ...
在Java应用程序中,Quartz能够帮助我们实现定时任务,比如定时发送邮件、数据备份或者执行某些周期性的业务逻辑。 在Quartz中,配置是至关重要的,因为它决定了任务调度的方式和性能。上述描述中提到了几个关键的...
同时,我们也使用了 Java 的 ShutdownHook 机制来确保资源的释放。 在业务逻辑中,我们可以使用 `BaseQueueHelper` 类来实现高性能的异步消息处理。例如,在应用 A 中,我们可以使用 `BaseQueueHelper` 类将数据...
`shutdownhook`是Java中的一个机制,允许在JVM退出前执行清理任务。如果应用程序代码中使用了`System.exit`,那么这将触发`shutdownhook`并导致Tomcat的退出。但在此案例中,代码层面的排查排除了`System.exit`的...
6. **ApplicationContext 创建**:根据配置创建 `ApplicationContext`,并根据需要设置 `ShutdownHook`、`BeanNameGenerator`、`ResourceLoader` 和 `Environment`。 7. **ApplicationContext 初始化**:加载 `...
demo 关于provider服务启动方式的说明: ...优点:框架本身提供(com.alibaba.dubbo.container.Main),可实现优雅关机(ShutdownHook) 第三种方式具体步骤: 1、pom.xml中配置打包操作 <!--打包可