2012-02-20 30 views
0

我知道制作一个内存扫描器已经可以在C#中使用了,但是我想知道在Java中是否有等价物,如果它甚至是可能的。是否有可能使用Java制作内存扫描器?

+0

你是什么意思的“内存扫描仪”?你是否在寻找类似[VisualVM](http://visualvm.java.net/)的东西,它有一些与内存相关的工具?不过,不知道它是通过整个内存还是只看JVM的。 – Marcelo 2012-02-20 14:29:40

+0

做这个http://stackoverflow.com/questions/390449/determining-java-memory-usage回答你的问题? – Scorpion 2012-02-20 14:30:10

+1

@ user1212527:对于在正确设计的操作系统上启动,您将无法扫描系统的整个内存,除非您碰巧拥有管理员/ root权限。那么你当然不能在Java中本地执行它。虽然Java可以使用JNI/JNA /等从Java调用Java本地代码(或其他),但Java很可能是这里工作的非常错误的工具。好奇心:你在寻找什么?病毒? rootkit的?敏感数据由不够谨慎的程序留下来清除? – TacticalCoder 2012-02-20 14:33:39

回答

3

我不知道用Java编写的任何这样的软件,但是,它是可行的。

但是,由于执行任务的级别非常低,读取内存不能直接在Java本身完成。您需要使用JNI访问操作系统本地调用,或需要访问本地库的其他库。