`

jvm 关闭处理注册方法

阅读更多
import java.lang.*;

public class TestExit{
        public static void main(String[] args){
                System.out.PRintln("my java process");
                //注册一个关机钩,当系统被退出或被异常中断时,启动这个关机钩线程
                Runtime.getRuntime().addShutdownHook(new Thread(){                                       
                                        public void run(){
                                                //添入你想在退出JVM之前要处理的必要操作代码
                                                System.out.println("T1");}
                                });
                //注册第二个关机钩               
                Runtime.getRuntime().addShutdownHook(new Thread(){
                                        public void run(){ System.out.println("T2");}
                                });

                System.exit(0);
        }
       
       
}
分享到:
评论

相关推荐

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

    14. **JVM关闭**:当JVM退出时,可能有一些线程还在运行,因此需要注册`ShutdownHook`,这是一组在JVM关闭时执行的钩子函数,用于执行必要的清理工作。 15. **关闭钩子(Shutdown Hook)**:通过`Runtime....

    dubbo启动关闭脚本

    此外,为了实现分布式部署,这些脚本可能还需要处理集群环境中的服务注册与发现,例如通过 ZooKeeper 或其他注册中心来管理服务的生命周期。 综上所述,`start.sh` 和 `shutdown.sh` 在 Dubbo 的部署环境中起着至关...

    Java处理100万行超大Excel文件秒级响应

    - **增加JVM内存分配:** 如果在处理过程中遇到内存溢出问题,可以通过增加Eclipse的JVM内存参数来解决:`-Xms2g -Xmx6g`。 - **批处理优化:** EasyExcel提供了批处理机制,可以在一定程度上提高写入性能。 - **多...

    tomcat内存泄漏备份方法

    - **优化代码**:避免创建过多无用的长生命周期对象,及时关闭数据库连接和网络资源,使用WeakReference或SoftReference处理缓存等。 - **使用内存泄漏检测库**:如使用FindBugs、PMD等静态代码分析工具,或者引入...

    RMI远程调用

    5. **服务器(Server)**:承载远程对象的JVM,负责处理来自客户端的请求,并执行相应的远程方法。 **RMI的工作流程** 1. **注册远程对象**:服务器端创建远程对象的实例,并将其注册到RMI注册表,通常使用` ...

    把java注册成服务

    对于Java应用程序,Wrapper会处理Java虚拟机(JVM)的启动和管理,包括设置JVM选项、类路径、主类等。 3. **服务管理**:一旦Java应用程序注册为服务,可以通过`services.msc`管理控制台或者命令行工具`sc`进行管理...

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

    - 在Java中,`Runtime.addShutdownHook()`方法用于注册一个线程作为关闭钩子。当JVM接收到退出信号时,这些钩子会被执行。 - 关闭钩子的执行顺序是不确定的,因此不应依赖它们之间的相对执行时间。 2. **Tomcat中...

    java (jvm + juc)+ spring + springcloud + sql + redis 面试大全

    SpringCloud是基于Spring Boot构建的服务治理框架,包含了服务注册与发现、负载均衡、熔断、限流、降级等功能,帮助开发者构建分布式系统。 SQL篇: SQL是结构化查询语言,用于管理和操作数据库。在面试中,通常会...

    第10章 JDBC-课后习题1

    2. 在编写 JDBC 应用程序时,必须要把指定数据库驱动程序或类库加载到Java运行时环境(JVM)中。 3. `Statement`接口的`executeUpdate(String sql)`方法用于执行SQL中的`insert`、`update`和`delete`语句。 4. `...

    三歪教你学JDBC.epub

    * 获取连接(表示jvm的进程与数据库进程之间的通道打开了,这属于进程之间的通信,重量级的,使用完后一定要关闭) * 获取数据库操作对象(专门执行sql语句的对象) * 执行sql语句 * 处理查询结果集(只有第四步是...

    RMIregistry

    **远程方法调用(Remote Method Invocation,RMI)**是Java平台中的一种分布式计算技术,它允许一个Java对象调用另一个在不同JVM上的对象的方法。RMIregistry是RMI系统的重要组成部分,作为服务注册中心,它使得...

    《JAVA程序分析研究报告》习题集及参考答案.doc

    JDK1.1引入了委托事件模型,每个事件都有对应的监听器接口,如ActionListener对应ActionEvent,事件处理程序需注册以接收和处理事件。 异常处理在Java中扮演着重要角色,它使得程序不仅能检测到异常,还能进行适当...

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

    2. 在子类中实现`run`方法,这是关闭钩子执行的代码逻辑,无需调用`start`方法,因为JVM会在适当的时候自动执行。 3. 实例化关闭钩子类的实例。 4. 使用`Runtime.getRuntime().addShutdownHook(Thread hook)`方法将...

    JNI.rar_jni

    3. **本地方法注册**:在Java代码中,本地方法通过`Java_包名_类名_方法名`这样的特殊签名进行注册,使得JVM可以在运行时找到并调用这些本地方法。 4. **JNIEnv指针**:在本地方法中,JNIEnv是一个指向一组函数指针...

    java 程序的退出的资源

    你可以通过`Runtime.getRuntime().addShutdownHook(Thread hook)`注册自定义的`Thread`,在程序退出前进行必要的清理工作,如关闭文件流、释放网络连接等。 此外,Java还提供了`Thread.stop()`和`Thread.interrupt...

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

    - `wrapper.disable_shutdown_hook`: 是否禁用JVM的关闭钩子。 - `wrapper.console.loglevel`: 控制台日志级别。 5. **动态更新配置**: 在有自动更新功能的项目中,如果新插件的类路径需要更新,可以通过Java类...

    JNI编程指南.zip

    2. **注册本地方法**:在Java代码中,你需要声明一个native方法,然后在JNI中通过`RegisterNatives`函数来注册这些方法,使得Java层和本地层可以互相调用。 3. **JNIEnv指针**:JNIEnv是一个指向一系列函数指针的...

    delphi调用Java函数

    6. **释放资源**:在调用完毕后,记得释放分配的资源,如释放本地方法栈、关闭JVM等,防止内存泄漏。 示例代码可能如下: ```delphi uses JvJavaDLL; procedure Main; var JVM: PJNIEnv; JavaClass: jclass; ...

    JDBC学习笔记

    表示JVM进程和数据库通道打开,属于进程间的通信,重量级 获取数据库操作对象 专门执行sql语句的对象 执行SQL语句 DQL DML … 处理查询结果集 只有上一步是selece时,才执行这一步 释放资源 使用完一定要...

    javaservice工具源码

    4. **Java应用程序执行**:JVM被创建后,JavaService会通过传递给JVM的参数来执行指定的Java类,通常是包含主方法的类。 5. **错误处理**:源码中包含了对各种可能的错误情况的处理,比如JVM初始化失败或Java程序...

Global site tag (gtag.js) - Google Analytics