当前位置: 首页 > 面试题库 >

在Java虚拟机中处理信号

楚丰羽
2023-03-14
问题内容

是否可以在Java虚拟机中处理POSIX信号?

至少SIGINT和SIGKILL应该完全独立于平台。


问题答案:

JVM自行响应信号。有些会导致JVM正常关闭,其中包括运行关闭挂钩。其他信号将导致JVM在不运行关闭钩子的情况下中止。

关闭挂钩是使用Runtime.addShutdownHook(Thread)添加的。

我认为JDK没有提供处理Java应用程序中信号的正式方法。但是,我确实找到了这篇IBM文章,其中描述了如何使用一些未记录的sun.misc.Signal类来做到这一点。本文始于2002年,并使用JDK
1.3.1,但我已经确认sun.misc.Signal该类仍存在于JDK 1.6.0中。



 类似资料:
  • 一、运行时数据区域 程序计数器 Java 虚拟机栈 本地方法栈 堆 方法区 运行时常量池 直接内存 二、垃圾收集 判断一个对象是否可被回收 引用类型 垃圾收集算法 垃圾收集器 三、内存分配与回收策略 Minor GC 和 Full GC 内存分配策略 Full GC 的触发条件 四、类加载机制 类的生命周期 类加载过程 类初始化时机 类与类加载器 类加载器分类 双亲委派模型 自定义类加载器实现 参

  • 我已经用Spring MVC和Tomcat编写了一个应用程序,例如,如果用户Alice想看到John page,她会输入以下内容: http://dns-name.com:8080/projectname/john 我使用Spring@PathVariable获取应用程序中的最后一个八位数“John”,并请求数据库呈现John页面。 然而,使用@PathVariable Spring注释,我只能r

  • 熟悉使用 Vagrant 管理虚拟机的流程。 查看状态 如果你已经登录到了虚拟机上,先退出来。在命令行下看到下面提示符就表示你已经登录到虚拟机上了: [[email protected] ~]$ 输入命令: exit 应该会返回: logout Connection to 127.0.0.1 closed. 现在你的位置应该是在项目的根目录下面,先查看一下虚拟机的状态: vagrant st

  • 本文向大家介绍Java虚拟机工作原理,包括了Java虚拟机工作原理的使用技巧和注意事项,需要的朋友参考一下 首先我想从宏观上介绍一下Java虚拟机的工作原理。从最初的我们编写的Java源文件(.java文件)是如何一步步执行的,如下图所示,首先Java源文件经过前端编译器(javac或ECJ)将.java文件编译为Java字节码文件,然后JRE加载Java字节码文件,载入系统分配给JVM的内存区,

  • Java 虚拟机屏蔽了与具体操作系统平台相关的信息,使得 Java 语言编译程序只需生成在 Java 虚拟机上运行的目标代码,就可以在多种平台上不加修改地运行。

  • 一、前言 本部分内容是关于Java虚拟机的一些面试高频知识点的总结。说到对Java虚拟机的学习,就不得不提下这本书《深入理解Java虚拟机》。 本部分的内容也是基于这本书进行整理的,这本书基本是面试必备。 关于Java虚拟机,重点考察以下三个方面的内容: 内存区域/内存模型 类加载机制 垃圾收集算法/收集器 二、目录 对象的创建、内存布局和访问定位 Java内存区域与内存模型 Java类加载机制及