java - 如果Java进程在Unix(Solaris)/Windows中被杀死,所使用的内存是否会被释放?

标签 java unix memory solaris garbage

我们有一个一直挂起的应用程序,它在 Java 上运行(通常在 Solaris 服务器上运行)。每次它挂起时,我们都必须终止该进程。但我们无法判断进程被终止后 Java 的垃圾收集器是否真的执行任何操作。我们担心在该应用程序挂起时必须重新启动服务器才能释放内存。

最佳答案

Java 垃圾收集器作为 Java 进程的一部分运行(实际上作为一个或多个线程),以管理操作系统分配的空间的使用情况。一旦您终止该进程,所有这些都会停止,并且分配给该进程的内存将被释放,就像任何其他进程一样。

您无需重新启动或执行任何其他操作。

关于java - 如果Java进程在Unix(Solaris)/Windows中被杀死,所使用的内存是否会被释放?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38896966/

相关文章:

java - 参数内的短/字节和 block 内的短/字节有什么区别

linux - linux下两个文件的交集

linux - Shell 命令检查文件是否有今天的日期

c - 内存映射显示的 RAM 多于物理可用的 RAM

mysql - 在非常慢的服务器 2 上替代内连接

java - Parse.com 查询太慢,需要更快

Java 二叉树中通用节点数组,无法创建 nil 节点

c# - 在 C# 的嵌套函数中分配的捕获变量在哪里

java - 使用谷歌脚本服务翻译文本返回编码文本

c++ - 如何找到程序的 main(...) 函数?