Java程序在Windows下运行但在Mac OS JVM中失败

标签 java macos jvm

我有一个在Windows下编写的java程序,它运行得很好。基本上是与算法相关的,在运行过程中通常会消耗几乎全部的CPU容量,这是正常的。

但是在MacOS下总是会卡在某个特定的点,数据量很大,内存消耗达到240M左右。该程序仍在运行,但不再继续。内存没有释放但是CPU使用率下降到0。我不知道这到底意味着什么,我也不知道发生了什么。

抱歉,我无法提供代码片段,因为这不是代码特定部分的问题。任何熟悉 JVM 的人都可以提供一些提示/建议吗?

最佳答案

我要做的第一件事就是进行线程转储并找出谁在做什么。您可以发出 kill -3 来获取线程转储,或者您也可以连接分析器。详情请看这个回答:Thread Dump Analysis Tool / Method

如果您无法弄清楚发生了什么,您可能想在此处发布线程转储。

我的疯狂猜测是一个并发错误,比如死锁,但我们必须查看线程转储!

关于Java程序在Windows下运行但在Mac OS JVM中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397741/

相关文章:

java - 如何在 Google 电子表格中获取单个工作表的工作表名称 - Google Sheet Api v4 - Java

java - Adobe flex 与 Java 通信的最佳方式是什么?

ios - 如何在Cocoa App中执行.sh文件

linux - 将环境设置导入 Makefile(ubuntu 和 osx)

jvm - (java)找不到主类

Java 接口(interface)合成方法生成,同时缩小返回类型

Java KeyListener 的 keyReleased 左右箭头键不调用

objective-c - 基于 View 的 NSOutlineview 选择渐变

java.lang.VerifyError - 当类的静态变量包含对类实例的引用时

java - 如何断言异常被捕获?