Memory Jmapping的基础知识?

Memory Jmapping的基础知识?,memory,command-line,java,jmap,Memory,Command Line,Java,Jmap,我在那里做了一些搜索,但找不到太多真正有用的信息,但是有人能解释一下Java内存映射的基本原理吗?比如在哪里/如何使用它,它的用途,可能还有一些语法示例(输入/输出类型)?我很快就要参加Java测试,这可能是其中一个主题,但在我所有的教程中,Jmap都没有出现。提前谢谢 编辑:我指的是工具:jmap我会阅读您引用的手册页 jmap打印给定进程、核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息 注意:此实用程序不受支持,可能在JDK的未来版本中可用,也可能不可用。在不存在dbgeng.d

我在那里做了一些搜索,但找不到太多真正有用的信息,但是有人能解释一下Java内存映射的基本原理吗?比如在哪里/如何使用它,它的用途,可能还有一些语法示例(输入/输出类型)?我很快就要参加Java测试,这可能是其中一个主题,但在我所有的教程中,Jmap都没有出现。提前谢谢


编辑:我指的是工具:jmap

我会阅读您引用的手册页

jmap打印给定进程、核心文件或远程调试服务器的共享对象内存映射或堆内存详细信息

注意:此实用程序不受支持,可能在JDK的未来版本中可用,也可能不可用。在不存在dbgeng.dll的Windows系统中,需要安装“Windows调试工具”才能使这些工具正常工作。此外,PATH环境变量应包含目标进程使用的jvm.dll的位置或生成崩溃转储文件的位置


这不是一个可以随便玩弄的工具。您需要一个好的分析器,它可以读取它的输出,因为jhat只对普通程序有用。(您的工具包对于1+GB的堆来说效果很好)

所以您可能会在一些您从未被教过的东西上接受测试?ಠ_ಠ你只是想知道jmap程序,还是…?@1年…想象一下lol。实际上它都是自学的。尝试从Java1类测试到Java2。换专业很糟糕@2,idk?如何使用该命令?我(错了?)假设它是一个内置的特性/命令。你是说Java的内存模型吗?比如垃圾收集通常是如何工作的,有哪些内存段?还是更多的是分析部分?就像命令一样:我知道它应该显示程序创建的许多变量/对象的详细信息,但是你会针对什么运行它呢。顺便说一句,我对Java完全陌生(2周大),所以这类东西是新的。你想知道一个非常低级的工具,甚至Oracle称之为“实验性的”和“不受支持的”。我认识的专业开发人员在Java开发的十年中都没有使用过它。基本上,它转储所有对象及其字段的状态,但不是线程的局部变量。我会用你的工具包来阅读转储文件,但理论上你可以用
jhat
来阅读,但是如果你有超过一小部分的对象,那就有点梦魇了。谢谢!但是,嘿,不是我想知道这件事。我学校的考试可能会有,所以我只是在调查一下。我有C的背景,所以这些低级的东西也不是全新的。@trflach,它有点像核心转储,但没有gdb来轻松阅读。